Professional Documents
Culture Documents
Group 7
Petersson, Andreas
Mohamed, Hilal S.
Nawaz, Amir
Table of Contents
Table of Contents
1. Roles and contributions
1.1 Andreas
1.2 Hilal
1.3 Amir
2. Specification of the application scenario (Hilal S. Mohamed)
3. System specification
3.1. Functional and non-functional aspects of the application system (Andreas)
3.1.1. Receiver box
3.1.1.1 Functional aspects
3.1.1.2 Non-functional aspects
3.1.2. Checkpoint system
3.1.2.1 Functional aspects
3.1.2.2. Non-functional aspects
3.2. Diagrams (Andreas)
1.1 Andreas
1.2 Hilal
1.3 Amir
3. System specification
Figure 1. Diagram of the flow of information and the various states of the checkpoint
Until a car arrives at the checkpoint (which could be detected by pressure plates or cameras)
the system idles at the starting node (the circle). When a car arrives at the checkpoint it
requests the customer data from the receiver that should be located in the customers car
(see Figure 2 for how that works).
If requesting the customer data succeeds then the system attempts to withdraw from the
customers balance. On success it returns the transaction details to the customers receiver
box. If the attempt fails then the system takes a picture of the cars license plate with a
camera and requests a follow-up procedure (most likely to be handled by a human).
If requesting the customer data fails the system requests a picture of the cars license plate
to request follow-up (send an invoice to the owner of the car or similar).
When either of these paths finish the system returns to waiting for cars to arrive.
Figure 2. Diagram of the flow of information in and out of the receiver box.
When the receiver box gets a request for the customer data it responds with the customer
data stored on the device (a customer ID and vehicle classification) and starts waiting for the
checkpoint to confirm the success of the transaction. If the transaction was successful the
box updates its local data (monthly use/session use) and returns to waiting for requests. If
the transaction times out the box notifies the user that something went wrong (this means
they can stop nearby and get support) and then goes back to waiting for requests.
4.1 Andreas
4.1.1 Complexity theory (Andreas)
One of the requirements of the system is to perform well enough that vehicles can travel
through the checkpoints and still be properly processed by the billing system. This means
that effective algorithms have to be picked for the actions the system is required to do.
Picking the wrong algorithm (e.g., a slow queuing algorithm) could have a negative impact on
the number of cars the system can handle per second and how fast they can travel through
the checkpoints.
This theory is mostly useful in the system design phase of the development cycle. In this part
of the system development life cycle the algorithm to use for a certain feature can be decided
upon by viewing the alternatives and comparing them.
In the case of the automated road toll system the most interesting aspect of complexity
theory is the worst-case analysis which, according to Sipser (2013), is the longest running
time for all an input of a particular length. This is useful in designing the road tolling system
because the performance of the system (both the checkpoint system and the boxes) directly
translates to the speed at which the customers can travel through the checkpoint.
Weiss (2014) lists a few complexity classes that are common in algorithms:
Complexity
Name/Explanation
O(1)
Constant
O(log n)
Logarithmic
O(log n)
Log-squared
O(n)
Linear
O(n log n)
O(n )
Quadratic
O(n )
Cubic
O(2 )
Exponential
These complexity classes are written in whats known as Big-O-notation, which defines the
upper bound of a function that defines the growth of the time or space complexity (Sipser,
2013).
When selecting an algorithm for the various tasks in the checkpoint system and the receiver
box the goal should be to find a balance between time complexity (the time it takes to
compute) and space complexity (the amount of memory it takes up). For example, the
receiver box will most likely be a very small box that can be put in the front of the vehicle.
This means that the box will not have very much computational power or very much memory.
Depending on the restrictions on production cost for these boxes the algorithms associated
with its operations will either favor time or space complexity.
4.2 Hilal
4.3 Amir
References
Sipser, M., 2013. Introduction to the theory of computation. Thomson Course Technology, Boston
Mass.
Weiss, M.A., 2014. Data structures and algorithm analysis in C++. Pearson, Harlow.