-
Notifications
You must be signed in to change notification settings - Fork 0
/
data_model.proto
69 lines (68 loc) · 1.43 KB
/
data_model.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
syntax = "proto3";
package DynStacking.DataModel;
message Block {
int32 Id = 1;
TimeStamp Release = 2;
TimeStamp Due = 3;
bool Ready = 4;
}
message Crane {
int32 Id = 1;
int32 LocationId = 2;
Block Load = 3;
CraneSchedule Schedule = 4;
double GirderPosition = 5;
double HoistPosition = 6;
}
message CraneMove {
int32 BlockId = 1;
int32 SourceId = 2;
int32 TargetId = 3;
int32 Sequence = 4;
bool EmptyMove = 5;
}
message CraneSchedule {
repeated CraneMove Moves = 1;
int32 SequenceNr = 2;
}
message Handover {
int32 Id = 1;
bool Ready = 2;
Block Block = 3;
}
message Performance {
int32 CraneManipulations = 1;
double ServiceLevelMean = 2;
double LeadTimeMean = 3;
int32 DeliveredBlocks = 4;
int32 TotalBlocksOnTime = 5;
double BlockedArrivalTime = 6;
double TardinessMean = 7;
double BufferUtilizationMean = 8;
double CraneUtilizationMean = 9;
double HandoverUtilizationMean = 10;
double UpstreamUtilizationMean = 11;
}
message Stack {
int32 Id = 1;
int32 MaxHeight = 2;
repeated Block BottomToTop = 3;
}
message TimeStamp {
int64 MilliSeconds = 1;
}
message Uncertainties {
repeated double ArrivalIntervals = 1 [packed = false];
repeated double CraneMoveTimes = 2 [packed = false];
repeated double HandoverReadyIntervals = 3 [packed = false];
}
message World {
TimeStamp Now = 1;
Stack Production = 2;
repeated Stack Buffers = 3;
Handover Handover = 4;
Crane Crane = 5;
Performance KPIs = 6;
Uncertainties ObservationData = 7;
repeated CraneMove InvalidMoves = 8;
}