requirement(g00,'the system shall ensure safety distance between trains'). requirement(g01,'the distance between trains shall be minimal'). requirement(g02,'the train location shall be determined through satellite navigation'). requirement(g10,'avoid train collisions'). requirement(g11,'maximise line capacity'). requirement(g12,'reduce deployment costs'). requirement(g13,'reduce maintenance costs'). requirement(g20,'the system shall be composed of a wayside system and an onboard system'). requirement(g21,'the wayside system shall indicate to the onboard system the distance that the train can safely travel Movement Authority'). requirement(g22,'the onboard system shall ensure that the train is stopped at the end of the MA'). requirement(g30,'the wayside system shall identify the location of each train on the track'). requirement(g31,'the wayside system shall compute the MA for each train on the track'). requirement(g32,'the onboard system shall identify its location'). requirement(g33,'the onboard system shall compute the braking curve to ensure tha the train is stopped at the end of the MA'). requirement(g40,'the onboard system shall send the location of the train to the wayside system'). requirement(g41,'the wayside system shall receive the location of each train on the track'). requirement(g50,'the distance between trains is the distance between the front of a train and the rear of the preceding train'). requirement(g51,'the bracing distance is the distance that the train needs to traval to come to a full stop from its current speed'). requirement(g52,'the distance between trains is minimal if it is equal to the braking distance'). requirement(g60,'in case of a gallery the location of the train is assumed to be the last location identified by the satellite system'). requirement(g70,'the onboard system shall use fixed ballises to identify its location in case of galleries'). requirement(g71,'the onboard system shall use visual tags to identify its location in case of galleries'). requirement(g80,'the onboard system shall notify the driver of the maximum speed allowed by the braking curve'). requirement(g81,'the driver shall drive the train without exceeding the maximum speed allowed by the braking curve'). requirement(g82,'if the train speed exceeds the maximum speed allowed by the braking curve the onboard system shall brake the train'). requirement(g90,'the onboard system shall include a Driver Machine Interface DMI to notify information to the driver'). requirement(g91,'the DMI background shall be light blue'). requirement(g92,'the DMI text shall be white'). requirement(g100,'the DMI background shall be black'). requirement(g101,'the DMI text shall be while'). requirement(g102,'the DMI background shall be blue'). requirement(g103,'the DMI text shall be yellow'). defect(d00,[],[g00],unjustified). defect(d01,[],[g01],unjustified). defect(d02,[],[g02],unjustified). refinement(r10,[g10],[d00],justify). refinement(r11,[g11],[d01],justify). refinement(r12,[g11,g12,g13],[d02],justify). defect(d03,[],[g00],nonAtomic). refinement(r20,[g20,g21,g22],[d03],andReduce). defect(d20,[],[g21],nonAtomic). refinement(r30,[g30,g31],[d20],andReduce). defect(d21,[],[g22],nonAtomic). refinement(r31,[g32,g33],[d21],andReduce). defect(d30,[],[g30],nonAtomic). refinement(r40,[g40,g41],[d30],andReduce). defect(d04,["the term minimal shall be better defined"],[g01],ambiguous). refinement(r50,[g50,g51,g52],[d04],clarify). defect(d05,["in case of galleries, satellite navigation cannot be used"],[g02],unattainable). refinement(r60,[g60],[d05],weaken). defect(d60,["more than one train shall be allowed in a gallery"],[g60],tooWeak). refinement(r70,[g70],[d60],strengthen). refinement(r71,[g71],[d60],strengthen). defect(d70,["visual tags may not be reliabled"],[g71],rejected). defect(d51,["the agent who stops the train is not specified"],[g33],incomplete). refinement(r80,[g80,g81,g82],[d51],clarify). defect(d80,["requirements about the DMI are missing"],[g00,g01,g02,g10,g11,g12,g13,g20,g21,g22,g30,g31,g40,g41,g50,g51,g52,g60,g70,g71,g80,g81,g82],mMissing). refinement(r90,[g90,g91,g92],[d80],add). defect(d90,["the contrast is too low"],[g91,g92],mConflict). refinement(r100,[g100,g101],[d90],resolve). refinement(r101,[g102,g103],[d90],resolve).