This is one (of many) solutions to the first assignment. This solution is the one that will be used in the second assignment. The grade on your solution is determined by:
The project is to build the infrastructure for a distributed vehicle traffic control system (IDVTCS).
Unlike existing traffic control systems (such as the Air Traffic Control System) in which the traffic control system is separate from the vehicles that are being controlled, in this system the vehicles (and other entities) control themselves. In other words, each vehicle has sufficient computational resources on-board for coordinating its behavior with other vehicles. Each vehicle can communicate with other vehicles and has sensors for detecting obstacles, including other vehicles. Each vehicle has a GPS unit that can compute the location of the vehicle at each point in time. In addition to sensors that can detect and track "dumb" obstacles, the vehicles have sensors that can identify "intelligent" obstacles such as other vehicles, buildings and residences. In particular, it is possible to compare the location a vehicle claims to be at with the location the vehicle is observed to be at.
The system consists of intelligent entities called nodes that can communicate with one another. The nodes include vehicles as well as shared resources such as streets and intersections. Your system provides for basic data storage at each node of the system as well as a protocol and "middleware" for reliable communication between nodes. Your system does not actually perform the traffic control functions. It is only concerned with establishing an underlying infrastructure of data and communication upon which traffic control software may be built. In addition to simple requests for information, communication may also involve negotiation between nodes for access to shared resources.
This task depends on what is viewed as being "inside" the system and what is viewed as being "outside" the system. Possibilities include:
Potential Actor | Description | Trace | Discussion |
---|---|---|---|
TCS | The traffic control application layer | Your system does not actually perform the traffic control functions. It is only concerned with establishing an underlying infrastructure of data and communication upon which traffic control software may be built. | The TCS is built on and uses the IDVTCS, so it is almost certainly an actor. |
Node | Intelligent entity participating in the system | The system consists of intelligent entities called nodes that can communicate with one another. | This is not a good candidate for an actor since the system consists of the nodes rather than the nodes using the system. On the other hand the first paragraph does speak of vehicles performing actions. To resolve this apparent contradiction, one identifies the actor as being the TCS within the node, and it will be called the Node TCS. |
Vehicle | Mobile node | The nodes include vehicles as well as shared resources such as streets and intersections. | Vehicles are discussed throughout the requirements. They are a special case of a node. However, the actor is the TCS within the vehicle, not the vehicle itself, so it will be called the Vehicle TCS. |
Resource | Static node (such as a building, street, intersection) | The nodes include vehicles as well as shared resources such as streets and intersections. | Resources are discussed throughout the requirements. They are a special case of a node. However, the actor is the TCS within the resource, not the resource itself, so it will be called the Resource TCS. |
Sensor | Device for detecting, tracking and identifying obstacles in the environment | Each vehicle ... has sensors for detecting obstacles, including other vehicles. | Sensors perform three distinct functions. However, detecting and tracking are closely connected with one another, while identification is separate (even possibly being performed by a separate unit altogether). |
Detect/Track Sensor | Sensor for detection and tracking | ... sensors ... can detect and track "dumb" obstacles ... | This is a special kind of sensor (or function of a sensor). |
Identifying Sensor | Sensor for identification of another node | In addition ... the vehicles have sensors that can identify "intelligent" obstacles such as other vehicles, buildings and residences. | This is a special kind of sensor (or function of a sensor). |
GPS Unit | Device within a node for determining its location | Each vehicle has a GPS unit that can compute the location of the vehicle at each point in time. | The textbook gives an example in which the GPS unit is an actor. |
Communicator | Device for communication between nodes | Each vehicle can communicate with other vehicles ... The system consists of intelligent entities called nodes that can communicate with one another... Your system provides ... a protocol and "middleware" for reliable communication between nodes... In addition to simple requests for information, communication may also involve negotiation between nodes for access to shared resources. | Communication is mentioned repeatedly. It could be treated as being a separate actor or as being internal to the system. |
Database | Device for storing information in a node | Your system provides for basic data storage at each node of the system | As with communication the database could be a separate actor or an internal component of the system. |
The choice of actors has a large impact on the requirements of the project, so they must be chosen carefully in consultation with the stakeholders. The Use Case diagram and scenarios are a powerful tool for achieving a mutual understanding about the requirements of the project with the stakeholders.
Any choices of actors is acceptable, so long as they are justified by tracing back to the original requirements. In this solution, one main actor and two subactors were chosen: Node TCS, Vehicle TCS and Resource TCS.
One now looks for sentences that describe patterns of actions performed by (and events that occur with) the chosen actors. Extracting these from the requirements is not that easy.
Sentence | Use Case |
---|---|
... sensors ... can detect and track "dumb" obstacles, ... sensors ... can identify "intelligent" obstacles such as other vehicles, buildings and residents. | Sense (detect, track and identify) |
Each vehicle has a GPS unit that can compute the location of the vehicle at each point in time. | Locate (determine location) |
... it is possible to compare the location a vehicle claims to be at with the location the vehicle is observed to be at.... [the system] is only concerned with establishing an underlying infrastructure of data and communication up which traffic control software may be built.... simple requests for information [will be supported] | Request Information |
... communication may also involve negotiation between nodes for access to shared resources. | Negotiation |
The requirements could be split up in many other ways to obtain Use Cases. The choices made here are dictated to a large extent by the choices of the agents made earlier.
It is not absolutely necessary to find relationships between Use Cases, but it is useful for reducing the complexity of a large diagram. It can also identify reuse opportunities at an early stage. Early stage reuse results in far greater increases in productivity than later stage reuse (such as code reuse).
In this case, there are no exceptions in the requirements, so the <<extend>> relationship does not occur. One should look for the <<include>> relationship after specifying scenarios. Generalization does occur as shown in the following diagram:
This section is not yet complete...
Determine Location | |
---|---|
Participating Actor(s) | Vehicle TCS |
Entry Condition | Vehicle TCS requires the location of the vehicle. |
Flow of Events | If the location in the database is current, then return it. |
Request location information from the GPS unit. | |
Store location information in the database and return it. | |
Exit Condition | The Vehicle TCS is given the current location of the vehicle. |
Special Requirements | Information must be returned in 500ms. |
Position must be accurate to within 3 meters. |
Sense (Detect, Track and Identify) | |
---|---|
Participating Actor(s) | Node TCS |
Entry Condition | Node TCS requires the location, velocity and/or identity of obstacles in the local environment. |
Flow of Events | Return list of obstacle records for all known obstacles in the local environment. Each obstacle record gives the location, velocity and (if known) the identity of the obstacle. |
Exit Condition | The Node TCS is given the current environment. |
Special Requirements | Requested information must be returned in 100ms. |
Relative position must be accurate to within 1 meter 95% of the time, and within 2 meters 100% of the time. |
Request Information | |
---|---|
Participating Actor(s) | Node TCS of one or two nodes |
Entry Condition | Node TCS requires information its own or another node's database. |
Flow of Events | If the request is for information available on the same node, then return it. |
Request information from the other node. | |
Store the information in the database and return it. | |
Exit Condition | The Node TCS is given the requested information. |
Special Requirements | Information must be returned in 200 ms 95% of the time. |
Negotiate | |
---|---|
Participating Actor(s) | Vehicle TCS, Resource TCS |
Entry Condition | Vehicle TCS requires use of a shared resource. |
Flow of Events | Vehicle TCS specifies a desired resource, a range of time periods, and alternative resources. |
IDVTCS transmits request to resource node's IDVTCS. | |
IDVTCS on the resource node transmits the request to the Resource TCS. | |
Resource TCS either accepts the request or suggests an alternative. Negotiation can continue on the resource node. | |
Resource node IDVTCS transmits response to the vehicle node's IDVTCS which can continue the negotiation. | |
Vehicle TCS is given the response. The Vehicle TCS can choose to continue the negotiation. | |
Exit Condition | A "good faith" negotiation either completes with a an acceptable resource reservation or breaks off with no reservation. |
Special Requirements | Negotiation must be complete in 0.5 second. A Resource Node must be able to support 100 concurrent negotiations. |
These are not specified in the requirements. Any reasonable choices here will do.
Type | Description | Comments |
---|---|---|
Goal | To improve the quality of life for all people | These must be self-evident. Saying that the goal is to build a vehicle traffic control system is not correct as it is not self-evident that this is good. |
To protect the environment | ||
To make transportation easy, safe and fast | ||
Objective | To design an autonomous vehicle transportation system | |
How the objectives contribute to the goals | The proposed autonomous vehicle transportation system will make transportation faster, easier and safer, improving quality of life. By making transportation autonomous, it makes it more efficient by reducing time in traffic jams and waiting at intersections thus reducing pollution. | Each objective should contribute to one or more goals. |
Scope | The system will be limited to the Greater Boston Area. | |
Deliverables | IDVTCS Use Case diagram | |
Project task network (Gantt chart) | ||
Requirements for standard components to be used by the IDVTCS | ||
Documentation of the IDVTCS API | ||
Detailed design of the IDVTCS | ||
IDVTCS object design | ||
Stakeholders | US Department of Transportation | Note that end users of the system (e.g., car owners) are not stakeholders. |
Massachusetts Registry of Motor Vehicles | ||
Boston Municipal Government | ||
Automobile Manufacturers | ||
Investors |