home
Real-world Use Cases Normative Requirements Repository

AutoCar(Autonomous Car)


AutoCar

Autonomous cars are automobiles that can move without any human intervention by detecting the car, traffic flow, and its surrounding environment using its own control system. Although the state of autonomous cars is still in its early stages, self-driving technologies are becoming increasingly common. User interaction with the car’s system is expected to be minimal, thus there is the assumption that the user has little or no knowledge of the system. For example, the State of California now allows driverless taxi (Robotaxi) services to operate in San Francisco [1], with Cruise being approved to charge for rides in vehicles that will have no human backup driver.

This case study is drawn from the AutoCar Project which aims to add emergency vehicle priority awareness features to autonomous cars. We look at the Software Requirement Specification (SRS) Report intended for software developers, software architects, testers, project managers, and documentation writers. An example of a requirement would be “When an object appears in front of the car, the system shall stop the car until the object is cleared upon which the car will continue to its destination.” Current autonomous cars have lane detection and following, object recognition and auto brake, virtual drive assistant, and route planning features. This project seeks to add a fifth feature: emergency vehicle priority awareness. This SRS report includes requirements for all five features. This will allow autonomous cars to detect emergency vehicles as well as their location and direction. A critical assumption in this project is that the system works well when there are no environmental factors, such as bad weather, and that lane markings are distinct. For example, Robotaxis in California are not allowed to operate in heavy rain or fog, and they are currently restricted to being in places and times where there is less traffic and fewer pedestrians on the streets. This system also assumes that all traffic signs and the presence of all objects around the vehicle can be clearly seen - thus the autonomous car is required to have multiple cameras mounted. It also assumes that emergency vehicles, such as ambulances and fire trucks, can be recognized by the autonomous car’s voice and image recognition.

The primary assumption in all of this is that the system is operating properly and that there are no abnormal conditions. When the assumptions are not true, the autonomous car’s system becomes ineffective and should give the user warning. This project does not fully cover the uncertainties that may occur in the environment that the system has to deal with, but aims to implement the basic external interface requirements, and functional, and non-functional requirements necessary for the emergency vehicle detection feature to be implemented. The natural language rules were developed from the document’s use case scenarios for functional requirements.