11
12
21
22event(stop_enter(_,_,_,_)). inputEntity(stop_enter(_,_,_,_)). index(stop_enter(Id,_,_,_), Id).
23event(stop_leave(_,_,_,_)). inputEntity(stop_leave(_,_,_,_)). index(stop_leave(Id,_,_,_), Id).
24event(internal_temperature_change(_,_,_)). inputEntity(internal_temperature_change(_,_,_)). index(internal_temperature_change(Id,_,_), Id).
25event(noise_level_change(_,_,_)). inputEntity(noise_level_change(_,_,_)). index(noise_level_change(Id,_,_), Id).
26event(passenger_density_change(_,_,_)). inputEntity(passenger_density_change(_,_,_)). index(passenger_density_change(Id,_,_), Id).
27
28event(punctuality_change(_,_,punctual)). outputEntity(punctuality_change(_,_,punctual)). index(punctuality_change(Id,_,punctual), Id).
29event(punctuality_change(_,_,non_punctual)). outputEntity(punctuality_change(_,_,non_punctual)). index(punctuality_change(Id,_,non_punctual), Id).
30
31simpleFluent(punctuality(_,_)=punctual). outputEntity(punctuality(_,_)=punctual). index(punctuality(Id,_)=punctual, Id).
32simpleFluent(passenger_density(_,_)=high). outputEntity(passenger_density(_,_)=high). index(passenger_density(Id,_)=high, Id).
33simpleFluent(noise_level(_,_)=high). outputEntity(noise_level(_,_)=high). index(noise_level(Id,_)=high, Id).
34
35simpleFluent(internal_temperature(_,_)=very_warm). outputEntity(internal_temperature(_,_)=very_warm). index(internal_temperature(Id,_)=very_warm, Id).
36simpleFluent(internal_temperature(_,_)=very_cold). outputEntity(internal_temperature(_,_)=very_cold). index(internal_temperature(Id,_)=very_cold, Id).
37
38sDFluent(abrupt_acceleration(_,_)=abrupt). inputEntity(abrupt_acceleration(_,_)=abrupt). index(abrupt_acceleration(Id,_)=abrupt, Id).
39sDFluent(abrupt_acceleration(_,_)=very_abrupt). inputEntity(abrupt_acceleration(_,_)=very_abrupt). index(abrupt_acceleration(Id,_)=very_abrupt, Id).
40sDFluent(abrupt_deceleration(_,_)=abrupt). inputEntity(abrupt_deceleration(_,_)=abrupt). index(abrupt_deceleration(Id,_)=abrupt, Id).
41sDFluent(abrupt_deceleration(_,_)=very_abrupt). inputEntity(abrupt_deceleration(_,_)=very_abrupt). index(abrupt_deceleration(Id,_)=very_abrupt, Id).
42sDFluent(sharp_turn(_,_)=sharp). inputEntity(sharp_turn(_,_)=sharp). index(sharp_turn(Id,_)=sharp, Id).
43sDFluent(sharp_turn(_,_)=very_sharp). inputEntity(sharp_turn(_,_)=very_sharp). index(sharp_turn(Id,_)=very_sharp, Id).
44
45sDFluent(punctuality(_,_)=non_punctual). outputEntity(punctuality(_,_)=non_punctual). index(punctuality(Id,_)=non_punctual, Id).
46sDFluent(driving_style(_,_)=unsafe). outputEntity(driving_style(_,_)=unsafe). index(driving_style(Id,_)=unsafe, Id).
47sDFluent(driving_style(_,_)=uncomfortable). outputEntity(driving_style(_,_)=uncomfortable). index(driving_style(Id,_)=uncomfortable, Id).
48
49sDFluent(driving_quality(_,_)=high). outputEntity(driving_quality(_,_)=high). index(driving_quality(Id,_)=high, Id).
50sDFluent(driving_quality(_,_)=medium). outputEntity(driving_quality(_,_)=medium). index(driving_quality(Id,_)=medium, Id).
51sDFluent(driving_quality(_,_)=low). outputEntity(driving_quality(_,_)=low). index(driving_quality(Id,_)=low, Id).
52
53sDFluent(passenger_comfort(_,_)=reducing). outputEntity(passenger_comfort(_,_)=reducing). index(passenger_comfort(Id,_)=reducing, Id).
54sDFluent(driver_comfort(_,_)=reducing). outputEntity(driver_comfort(_,_)=reducing). index(driver_comfort(Id,_)=reducing, Id).
55sDFluent(passenger_satisfaction(_,_)=reducing). outputEntity(passenger_satisfaction(_,_)=reducing). index(passenger_satisfaction(Id,_)=reducing, Id).
56
59
60collectIntervals(abrupt_acceleration(_,_)=abrupt).
61collectIntervals(abrupt_acceleration(_,_)=very_abrupt).
62collectIntervals(abrupt_deceleration(_,_)=abrupt).
63collectIntervals(abrupt_deceleration(_,_)=very_abrupt).
64collectIntervals(sharp_turn(_,_)=sharp).
65collectIntervals(sharp_turn(_,_)=very_sharp).
66
68
69grounding(abrupt_acceleration(Id,VehicleType)=abrupt) :- vehicle(Id, VehicleType).
70grounding(abrupt_acceleration(Id,VehicleType)=very_abrupt) :- vehicle(Id, VehicleType).
71grounding(abrupt_deceleration(Id,VehicleType)=abrupt) :- vehicle(Id, VehicleType).
72grounding(abrupt_deceleration(Id,VehicleType)=very_abrupt) :- vehicle(Id, VehicleType).
73grounding(sharp_turn(Id,VehicleType)=sharp) :- vehicle(Id, VehicleType).
74grounding(sharp_turn(Id,VehicleType)=very_sharp) :- vehicle(Id, VehicleType).
75grounding(punctuality(Id,VehicleType)=punctual) :- vehicle(Id, VehicleType).
76grounding(punctuality(Id,VehicleType)=non_punctual) :- vehicle(Id, VehicleType).
77grounding(punctuality_change(Id,VehicleType,punctual)) :- vehicle(Id, VehicleType).
78grounding(punctuality_change(Id,VehicleType,non_punctual)) :- vehicle(Id, VehicleType).
79grounding(passenger_density(Id,VehicleType)=high) :- vehicle(Id, VehicleType).
80grounding(noise_level(Id,VehicleType)=high) :- vehicle(Id, VehicleType).
81grounding(internal_temperature(Id,VehicleType)=very_warm) :- vehicle(Id, VehicleType).
82grounding(internal_temperature(Id,VehicleType)=very_cold) :- vehicle(Id, VehicleType).
83grounding(driving_style(Id,VehicleType)=unsafe) :- vehicle(Id, VehicleType).
84grounding(driving_style(Id,VehicleType)=uncomfortable) :- vehicle(Id, VehicleType).
85grounding(driving_quality(Id,VehicleType)=high) :- vehicle(Id, VehicleType).
86grounding(driving_quality(Id,VehicleType)=medium) :- vehicle(Id, VehicleType).
87grounding(driving_quality(Id,VehicleType)=low) :- vehicle(Id, VehicleType).
88grounding(passenger_comfort(Id,VehicleType)=reducing) :- vehicle(Id, VehicleType).
89grounding(driver_comfort(Id,VehicleType)=reducing) :- vehicle(Id, VehicleType).
90grounding(passenger_satisfaction(Id,VehicleType)=reducing) :- vehicle(Id, VehicleType).
91
93
94cachingOrder(punctuality(_,_)=punctual).
95cachingOrder(punctuality(_,_)=non_punctual).
96
97cachingOrder(punctuality_change(_,_,punctual)).
98cachingOrder(punctuality_change(_,_,non_punctual)).
99
100cachingOrder(passenger_density(_,_)=high).
101cachingOrder(noise_level(_,_)=high).
102
103cachingOrder(internal_temperature(_,_)=very_warm).
104cachingOrder(internal_temperature(_,_)=very_cold).
105
106cachingOrder(driving_style(_,_)=unsafe).
107cachingOrder(driving_style(_,_)=uncomfortable).
108
109cachingOrder(driving_quality(_,_)=high).
110cachingOrder(driving_quality(_,_)=medium).
111cachingOrder(driving_quality(_,_)=low).
112
113cachingOrder(passenger_comfort(_,_)=reducing).
114
115cachingOrder(driver_comfort(_,_)=reducing).
116
117cachingOrder(passenger_satisfaction(_,_)=reducing)