Traffic Signal System Consists Of Three Subsystems Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

A traffic signal indicates the vehicles by stoplight or signals. By using traffic signals we can control the traffic. Signals indicates the vehicle when to proceed, when to slow and when to stop. The signals will be repeated by using of timer settings. For a certain time period the signals will be changed so that vehicles can take turn. It repeats the cycle for a certain period of time; it can be done manually also. It can avoid traffic congestion and improve safety.

A modern traffic signal system consists of three basic subsystems:

The signal lights in their housing.

The supporting arms or poles,

The electric controller.

The signal light stack consists of signal lights and housing.

Whereas signal stack consists of three lights, that are green, red and yellow.

The green light indicates the traffic may proceed; it is at the bottom of the traffic pole. The yellow light indicates the traffic to go slow and prepare to stop. It is at the middle of the traffic pole. The red light indicates the traffic must stop. It is at the top of the traffic pole.

The main aim of our project ("Signal preemption for an emergency vehicle") is to provide separate signal for the emergency vehicle. The emergency vehicle can process signal from the control room. When the emergency vehicle moves towards the signal, then signal processed from control room to signal processing station. By the indication of this signal, the signal turns to green if it is red. Then the all vehicles will move along with emergency vehicle.

Objectives of the project:

Literature review on traffic control system and software development lifecycle.

Perfect design analysis for this project by using UML and respective DFDs.

Traffic controlling system implementation by using JAVA and FLASH.

Signal preemption for emergency vehicle.

Research Enhancement:

We have certain limitations by using to capture the signaling in manual manner. So I am proposing with the technique of GPS (Global Positioning Service) which can able to provide position navigation techniques.

Organization thesis:

Chapter 1: Introduction: shows the overview of the project, background and objectives of the system

CHAPTER 2: LITERATURE REVIEW: Research methodology of the Signal preemption for an emergency vehicle, for the traffic control system,and Study of SDLC development system.

Chapter -3 : Design Framework: shows all the necessities of our project by considering the technical aspects, functional and non functional requirements, user requirements and the design of the proposed project framework by UML diagrams and DFDs.

Chapter -4: Project Implementation: shows the implementation of the project with java as a programming language, flash for graphical representation and development of the coding according to the system modules

Chapter -5: Testing Phase: Designing of all testing methods, and then evaluation of test cases and implementation of each test processes and estimating the error reports

Chapter -6: Conclusion and future work: Shows Final conclusion of the project and exhibit future enhancement of the system

Chapter-2

Literature review:

A traffic signal indicates the vehicles by stoplight or signals. By using traffic signals we can control the traffic. Signals indicates the vehicle when to proceed, when to slow and when to stop. The signals will be repeated by using of timer settings. For a certain time period the signals will be changed so that vehicles can take turn. It repeats the cycle for a certain period of time; it can be done manually also. It can avoid traffic congestion and improve safety.

A modern traffic signal system consists of three basic subsystems:

The signal lights in their housing.

The supporting arms or poles,

The electric controller.

The signal light stack consists of signal lights and housing.

Whereas signal stack consists of three lights, that are green, red and yellow.

The green light indicates the traffic may proceed; it is at the bottom of the traffic pole.

The yellow light indicates the traffic to go slow and prepare to stop. It is at the middle of the traffic pole.

The red light indicates the traffic must stop. It is at the top of the traffic pole.

For the every roadway the signal light stack will be one or more. Traffic signals may have electromagnetic sensors. The roadway department may detect the flow of traffic at various points.

Raw Material: The body of each signal light stack is made of corrosion-resistant aluminum. The traffic pole controller components are switches, relays and timers. The components are attached with wires.

The Manufacturing process:

A traffic signal is manufactured at manufacturer's plant, it has to be installed and wired at the intersection point.

Consideration for our project:

This is the basic description of the project required to be done, we need to simulate the traffic of an urban area which contains traffic lights, intersections, normal traffic and an emergency vehicle.

These are the following things required to be done in order to simulate

Construct a 4 X 4 grid of traffic signals.

The Signals on the border of the grid should generate traffic at the rate of 2 vehicles per second and an emergency vehicle at one per every 30 min.

Initially there should be a time gap of at least two min before the first emergency vehicle is generated. The entire scenario would look as shown in figure.

Operation of the Traffic Signal.

The traffic signal has four phases of operation as described below.

1st phase:

The traffic in the following directions has green light and they can move

North ----- west

South ------ East

2nd Phase:

The traffic in the following directions has green light and they can move

North ----- South or East

South ---- North or west.

3rd phase:

The traffic in the following directions has green light and they can move

East ---- North

West ----- South

4th phase:

The traffic in the following directions has green light and they can move

East --- west or South

West --- East or North.

These things can be implemented by constructing three different queues for each direction and pushing the traffic in that direction.

The traffic light is in green in each phase for 15 seconds.

Direction of traversal for a given vehicle generated.

Each vehicle is attached with a random number which is uniformly generated and based on the value of the number generated the vehicle is decided to go left or right or straight or to sink (Which means they have reached the destination).

SDLC:

SDLC:

In this we will be looking on SDLC as a tool for development what are the factors for its proper implementation and special section on software security from the point of view of SDLC.

Figure: soft ware development life cycle[ ]

Planning:

The planning stage establishes a view of the intended software product and uses this to establish the basic project structure. Evaluate feasibility and risks associated with the project and describe appropriate management and technical approachs.

Requirement definition:

The requirements gathering process takes as its input the goals identified in the high level requirements section of the project plan.

These requirements are fully distributed in the primary deliverables for this stage. The requirements document and requirements tracebility matrix(RTM) the requirement document contains description of each requirement.

The outputs of the requirements definitions stage include the requirement document. RTM and updated project plan.

Design:

The design stage takes as its initial input the requirement identified in the approved requirements document. This phase includes functional hierarchy diagram, screen layout diagrams,tables of business rules, business process diagrams, pseudocode and a complete entity relationship diagram with a full data dictionary.

Development:

By taking design phase as input and write the coding part for the project by using different software languages.

Testing:

In this phase test the coding part which was written in the development phase by using different compilers and interpreters.

Implementation:

In this phase we will take a look at step by step process of accepting and installation of software while system design planning and coding are important this phase of SDLC will determine if the program created will actually work and is beneficial for the company or not.

Chapter-3

Design:

Unified Modeling Language:

By using modules in unified modeling language we can easily analyze and implement.

The design of this project based on UML (Unified modeling language) diagrams.The unified modeling language is mainly used to represent the pictorial aspects of project. To develop the logical representation of the project, is mainly concentrated by considering the actors, class, components and etc. By using UML will get the requirement which we need to implement. Then it will be easy to construct the programs respectively.

ELEMENTS OF UML

The UML represents the components with graphical representation for our project. According to user requirements it will integrate all the components properly. By using this UML , it will generate the multiple views of diagrams and groups them accordingly. This is called "Models". Those diagrams are described below:

Class Diagram

A class diagram represents the diagram having similar attributes and unique behavior. This class diagram leads to static design view of the system. Class diagrams are mainly used to analyse the requirement of the system. Then it is easy to communicate analysts with clients about the problem that they are faced during their usage.

Object Diagram

Object is nothing but instance of a class. And object diagram shows a specific thing which has the specific behavior.

Use Case Diagram

Use case diagram is one of the important views in design phase. Use case diagram is the combination of actors, use cases and relationship among them. By using Use case diagrams systems are categorised based on their behavior and also describe the system behavior in user point of view.

Sequence Diagram

In this sequence diagrams interactions will be done based on the messages with time aspect. The interaction is between set of objects and message sequences passed by those objects. The usage of all these diagrams is to represent dynamic view of system.

Collaboration Diagram

Collaboration diagram is a collection of objects and links those objects based on user requirements. Collaboration diagram represents the organization of objects; it is in terms of send and receive messages.

Component Diagram

Component diagram consists of components of system, interfaces and relations. The collaboration diagram represents all the components that are associated with system implementation.

State Chart Diagram:

State chart diagram consists various states that include transitions, activities and events these are used by the system implementation. These diagrams are most important in modeling scenario.

Activity Diagram

Activity diagrams are extension of state diagrams. Activity diagram mainly focusing the flow of information between different activities , with in the system. These diagrams are used to represent the dynamic view of the system.

Deployment Diagram

Deployment diagram deals with the static view of architecture. A deployment diagram contains set of nodes and their relationships.

Use case diagram for module1:

Name of the Use case

signal

Actors Participation

vehicle

Flow of events

According to the signal conditions the actor will take the direction.

Name of the Use case

direction

Actors Participation

vehicle

Flow of events

DATA FLOW DIAGRAMS:

By using data flow diagrams we can exactly picturise the view of data flow. In this the information flow from one level to another level. These diagrams mainly focus on the analysis of data transmission. By doing this, when the implementation comes it is easy to develop the task of the project. In this the data flow from higher level to lower level.

The Data flow diagrams represent the data in each step when the user requires. The different levels in DFD's are based on functional decomposition of our project.Basically it starts from the top down approach.

Notations used in data flow diagrams:

Data flow process

Process

Data store

Source

Data flow process: It describes the flow of data between process, data store and external entity.

Process: It describes the construction of output from the appropriate input.

Data store: It describes the data withdrawal from the data source.

Source: It is an external body for producing the data.

CONSTRUCTING A DFD:

Several rules for drawing a DFD:

Process would be numbered and named with the unique identity for simple understanding. Every individual process should posses a name.

The route of data flow is from top level to bottom level and left side to right side. Mostly data always flow from source to destination even though they might be flow back to the source.

Another way is to replicate the source clue as a destination. Since it is used many times in the DFD and marked as short diagonal.

Whenever the process is burst out into lower levels, then it is indicated with the sub numbering.

The data stores and the destinations are shown with upper case letters. Process and dataflow are written in small cases with capital letter in starting of phrase.

A DFD preferred to show the minimum contents of the every data store. Each data store has both the input flow as well as out flow. [5]

SAILENT FEATURES OF DFD's

1. DFD indicates just flow of data but not the repetitive flows like loop structures.

2. DFD does not shows any time factors like monthly, weekly, and daily operations.

3. Sequence of events may not bring out on DFD.

DataFlow Diagrams:

Level 1:

0.0

Destination

Vehicle

Level 2:

1

Signal

0.0

direction

Vehicle

Level 3:

Red

Direction signals

Green

Yellow

Seq uence diagram:

Explanation:

Sequence Diagrams shows the interaction between the objects, which are arranged horizontally and time in vertically.

First the vehicle goes towards the signal.

If the signal is red it should wait until the signal turns to green.

When the signal turns from red to green then the vehicle moves forward either left, right or straight.

Sequence diagram for emergency vechile:

Explanation:

Sequence Diagrams shows the interaction between the objects, which are arranged horizontally and time in vertically.

First the Emergency vehicle goes towards the signal.

When the emergency vehicle comes ,if the signal is red the information pass to the control room.

Then the control room sends the information to the traffic system by using signaling process.

Then the signal automatically turns into green.

When the signal turns in to green not only the emergency vehicle all vehicles move forward either left, right or straight.

Chapter-4

Implementation:

In order to develop any project, we need to select one platform which can be run on any type of system specifications. For that I used java as language for developing this project.

JAVA:

I considered java as a programming language for my project which is very flexible and more convenient to use. By using java concepts we can change according to our requirements.

Java is a platform independent so that we can run at any platform.

We can make any changes to the user requirements.

It is very language, as we can execute no of times due to portability.

It is highly reliable.

Java is a programming language mainly depends on OOPS concept.

The very important feature of this language is providing security. In this project I embedded flash in java for effective view. By using flash

4.1.2 JavaScript

JavaScript is mainly used for server interaction process developed by Netscape navigator. In order to embed flash file with java front end we need to execute some logic on the server end. So I considered java script to perform certain action when the user needs it. It is mainly used for validations.

For the content validation we must use java script.

To embed flash file we use java script.

We use this for the different browsers n different content.

Java Server Pages Technology:

A JSP document is a text based. This document contains two types of text:

Static template data

Dynamic template data

Static template data: It can be text format such as HTML, WML, and XML.

Dynamic template data: It constructs with dynamic content such as JSP elements.

Java Server Page (JSP):

We are using dynamic content for the creation of dynamic web pages by using JSP to fulfill client requirements.

For dynamic content we are considering template data, custom elements, scripting languages, and server -side Java objects. The template data can be HTML or XML but here we are considering HTML and the client is a web browser.

According to JSP model1 we can develop the application as,

About HTML

What is HTML?

The HTML is a language used by World Wide Web. By publishing this language i.e., like mother tongue, which can be, understand by all computers. It is globally published language.

HTML gives:

It publishes online documents with headings, text, tables, lists, photos, etc.

Retrieve online information via hypertext links, at the click of a button.

A brief History of HTML

HTML was originally developed by Tim Berners-Lee while at CERN, and popularized by the Mosaic Browser developed at NCSA. During the course of eh 1990's it has blossomed with the explosive growth of the Web. For the interaction the web depends on the web pages. The vendors can also share the same web pages. It increases the effectiveness of using web pages. For the same conversation of HTML it motivated joint work on specification.

HTML 4.0

It has enhanced some more features like style sheets, scripting, frames, and embedding objects. These features improve the support for right to left and mixed direction text and richer tables. It improves the accessibility, as people can access easily who don't have basic knowledge.

It interact with set of records, it does not process with one data at a time so we are calling it as a non-procedural language. It provides automatic direction to the data. By using SQL commands we can manipulate the tables.

External Interface Requirements:

If we consider any project, we can observe two interfaces requirements like external and internal interface requirements. For external interfaces we consider as user interface, software interface, and hardware interface and communication channel. Let us discuss about those terms in below:

User interface:

In my project I preferred to use hypertext markup language for graphical interface which is user friendly. It make very clear view and easy to implement.

In this project we used radio buttons for answering mode to each and every question. It makes easy for the user. And we use browse button option. So that it is easy to import the questions into the examination environment. Even we use these action interfaces in different pages.

Hardware interface:

Our project is mainly working on internet, so we need to consider some communication medium which supports networking channel.

Software interface:

Java 1.5 is the basic essential to develop this project programming for the efficient execution.

Communication interface:

HTTP protocol and TCP/IP protocol oriented communication or wireless network environment.

Other non functional requirements:

Besides external interfaces I considered non functional requirements for project to make analysis over some areas like quality, performance and security issues.

Performance requirements are to be used to check the execution of the project with accuracy and optimum way of execution speed.

Security is the one of the important requirements of software maintains and Java is known for it, Apart from this some external software like anti viruses are needed.

As per the software engineering subject quality attributes are like security, availability, scalability and maintainability are considered.

Reliability:

Reliability is the major constraint for software products where the most of the software products make over look on it. The system must be like fault recovery which means to run the system even by occurring some exceptions.

Usability:

Most of the applications are mainly web application system are always deals with administrator and users. User always goes for user friendly interface.

Scalability:

Scalability is the major aspect which makes different between the corporate (enterprise) application and desktop applications. So by providing scalability factor we can enhance or expanding system for large domains with out degrading the system performance and disturbing the existing system configuration. But we need to consider some security factors to enable this.

Availability:

Availability is the term which represents the efficient software project. In our project it is very essential. By considering the n no of students whose are writing the exam at a time. The system must be making available for the next user (n+1). [13]

Module implementation:

In this project I consider two modules: they are like

General traffic signal module

Emergency vehicle module

General traffic signal control module (grid generation):

In this module we consider one traffic junction with the proper road ways and appropriate signaling process which can able to perform signaling according to timer settings.

The system as follows:

Operation of the Traffic Signal.

The traffic signal has four phases of operation as described below.

1st phase:

The traffic in the following directions has green light and they can move

North ----- west

South ------ East

2nd Phase:

The traffic in the following directions has green light and they can move

North ----- South or East

South ---- North or west.

3rd phase:

The traffic in the following directions has green light and they can move

East ---- North

West ----- South

4th phase:

The traffic in the following directions has green light and they can move

East --- west or South

West --- East or North.

These things can be implemented by constructing three different queues for each direction and pushing the traffic in that direction.

The traffic light is in green in each phase for 15 seconds.

<script src="AC_RunActiveContent.js" language="javascript"></script>

</head>

<body bgcolor="#ffffff">

<!--url's used in the movie-->

<!--text used in the movie-->

<!-- saved from url=(0013)about:internet -->

<script language="javascript">

if (AC_FL_RunContent == 0) {

alert("This page requires AC_RunActiveContent.js.");

} else {

AC_FL_RunContent(

'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',

'width', '1500',

'height', '600',

'src', 'signal1',

'quality', 'high',

'pluginspage', 'http://www.macromedia.com/go/getflashplayer',

'align', 'middle',

'play', 'true',

'loop', 'true',

'scale', 'showall',

'wmode', 'window',

'devicefont', 'false',

'id', 'signal1',

'bgcolor', '#ffffff',

'name', 'signal1',

'menu', 'true',

'allowFullScreen', 'false',

'allowScriptAccess','sameDomain',

'movie', 'signal1',

'salign', ''

); //end AC code

}

</script>

<noscript>

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="1500" height="600" id="signal1" align="middle">

<param name="allowScriptAccess" value="sameDomain" />

<param name="allowFullScreen" value="false" />

<param name="movie" value="signal1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /> <embed src="signal1.swf" quality="high" bgcolor="#ffffff" width="1500" height="600" name="signal1" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

</object>

</noscript>

Emergency vehicle module:

If consider the emergency vehicle, there should not need to follow any traffic methodologies and rules which may creates some problem or inconvenience to other people who are traveling on the road. To overcome these problems we are proposing a system that can send the signal to central traffic control station before it reaches to its particular direction as well as perfect road map. Then the system will respond with the navigation which can run through GPS (geographical position system). Whenever the emergency vehicle approaches to particular traffic signal, automatically signal will turn into green in spite of any signal presented over there. The traffic signal processing will controlled by centralized system. Administrator or artificial intelligence system will respond with the appropriate action while emergency vehicle comes into picture.

Turned as green

Emergency

Centralized

Signal control system

We are embedding some part of graphical representation with the action script. Which make the appearance very clear? Flash file can show the exact information display on the screen rather than the logical execution. We embed the action script part at the back end process.

Some of the script given below:

<script language="javascript">

if (AC_FL_RunContent == 0) {

alert("This page requires AC_RunActiveContent.js.");

} else {

AC_FL_RunContent(

'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',

'width', '2000',

'height', '600',

'src', 'signal2',

'quality', 'high',

'pluginspage', 'http://www.macromedia.com/go/getflashplayer',

'align', 'middle',

'play', 'true',

'loop', 'true',

'scale', 'showall',

'wmode', 'window',

'devicefont', 'false',

'id', 'signal2',

'bgcolor', '#ffffff',

'name', 'signal2',

'menu', 'true',

'allowFullScreen', 'false',

'allowScriptAccess','sameDomain',

'movie', 'signal2',

'salign', ''

); //end AC code

}

</script>

Screen shots:

Emergency vehicle module:

Chpter-5

Testing:

Testing is performed after the coding phase. It is a main software measure to employ quality control during software development. Its basic task is to find the errors in the software. The aim of the testing is to disclose required design and coding errors in the programs. The input phase of the testing is the written code. Testing is performed with unit testing which detects errors in each module. These modules are integrated into subsystems and tested for integration. Eventually the overall system is tested which called system is testing. At the end, the system is tested with the real data at the place of installation called as acceptance testing.[14]

Testing means quality test. Testing is a process of which can be run with the intention of finding errors. The Objective is to design a test that analytically exposes different types of errors. And it should be done with a less amount of time and effort. Testing cannot show the absence of Defects, it can only show that soft wear defects are present.

Functional vs. non Functional Testing:

Verifying a specific action of coding is known as functional testing.

These functional testing is usually seen in coding of the documentation.[19]

Non Functional testing is exactly contradictory to functional testing. It doesn't provide a condition of coding like security, scalability and performance etc.

Non-functional testing answers the questions like "how many number of people could log in" and "how easy to hack a software"

In the functional testing the first step is involved with coding of the specific action.

Functional testing is identified during coding of the documentation.

The functional testing gives the requirement for coding like security and performance where as it not possible with non-functional testing.

Non-functional testing gives answers to the questions like "how many people has logged in" and "how easy to hack a software". [15]

Defects and failures:

All the defects in software are not only caused by the errors in coding.

But also from common faults or defects like obligation gaps such as reliability, security, efficiency etc.

Failures occur due to some processes:

An error can occur due to a programmers mistake which cost a bug in the coding. if the programmer executes the same code which contains the errors it will cause failure of the result. The simple mistake can leads or cause to software failure because we don't know which bug leads to the testing failure. If the programmer runs the same code in different platforms, the different bugs may occur.

Compatibility:

A general cause for software defects is due to the short of compatibility with other applications and operating system may vary from the original.

Static Vs dynamic testing:

Feedbacks walk through, or inspections refer to static testing and executing a program with a group of test cases is known as dynamic testing. Static testing can be lost or ignored. Dynamic testing is used at the commencement of a program testing.

Objectives of testing:

After the program execution we can find an error.

A test is said t good when we find an undiscovered error and a successful test when we expose it.

The analysis of design and coding is achieved by software quality assertion which is a significant part of software testing.

Testing Types:

Unit Testing:

A program component is typically a small module so the programmer who designed it can be tested and these units are integrated into an evolving software component. Unit testing refers to the smallest part of designing which focus on verification. In this module the data flow is from one end to another. It divides every part of the code. The main objective of the unit testing is to produce the accurate code and distribute the individual parts.[19]

Functional Testing:

Functional Testing states the condition on operations, input principles and predictable results .The function is deliberated to take care of the situation. Performance tests should be designed for validating execution time, throughput, response time and memory utilization.[15]

Stress testing is designed to excess a system in various ways. The need of the stress test is to determine the limitation of the system..

System Testing:

A system is tested for online responses, volume of transactions, stress Recover from failure and usability. System testing involves two kinds of activities integration testing and acceptance testing.

Integrated Testing:

To extract the errors in a systematic way, test can be conducted orderly relating to an interface is defined as integration testing.[19]

According to this design, the program organization can be built by considering the small modules or unit components.

For every server and client routers a design is being sketched previously to the writing of a router program.

Integration testing is comprised of two types:

Top down testing :

It is an approach in integrated testing where the higher level modules are tested first and branches of the modules are tested step by step up to a lower level component.

Advantage of top-down approach is we can find a missing branch easily.

Bottom up testing:

It is an approach in integration testing in which firstly the lower level modules are tested and then the higher level modules.

This process is being tested until we reach the top level of the hierarchy.

Advantage of bottom-up approach is we can find the errors easily.

Sandwich testing:

. it is the combination of top-down and bottom-up approaches

The process of integration will be performed in four steps:

Every component is tested while integration testing is processed.

Test drivers and stubs are main control modules that act as alternative for all elements directly to control the modules.

Stub is replaced, once a test is completed.

According to the decision of integration approach and to that of sub- ordinate stubs can be replaced by the actual ones.

Validation Testing:

Validation testing is the initial stage of final sequence of software testing.

After completion of integration testing, the software is prepared as a package and all the errors are discovered and have to be rectified.

For achieving software validation testing a sequence of black box testing has to be carried out.[19]

In this phase all the errors are discovered and are rectified before the project is completed and if any errors of divergence are also corrected.

Therefore the validation testing is satisfactorily found to be working after all the errors are discovered and also corrected.

Some of the aspects of validation are:

Accuracy

Limit of detection.

Selectivity

Quality

Repeatability

Output Testing

As a user we need a particular layout, and need to take the output requirements into deliberation, and by the output generated should be compared which concludes whether the software developed is skilled of giving the exact output or not.

As soon as validation testing is completed we go towards the output testing to get the desired output without this the system is measured to be an unsuccessful one and is worth less if the output were not in the expected format.[16][14]

Issues in Testing Classes:

Testing classes brings in some new issues that are not present in testing functions. First, a class can't be tested directly, only the class at the present instance can be tested. This means that we at least a class indirectly by testing its instances, of the class and list them to test the class.[14]

In Object Oriented programs, control flow is characterized by message passing among object, and the control flow switches from one object to another by inter object communication. Consequently there is no sequential control flow with in a class like in functions. This lack of sequential control flow with in a class requires different approaches for testing.[14]

Thirdly, new issues are introduced due to inheritance. There are basically tow reasons for problems that arise from inheritance .The structure of inheritance hierarchy and the kind of inheritance.

Overall, testing of objects can be defined as the process of exercising the routines provided by an object with the goal of uncovering error in the implementation of the routines or state of the object or both .To test an object, we have to test the interaction between the methods provided on the object. For this, the problem for finding the patterns of method invocation of the object under test with different arguments, which will yield error .In some sense, by executing various patterns, we are testing the communication between the different methods of the object.[16]

Testing Process

Testing performs a major role for assuring quality and ensuring the reliability of the software. During testing, every program can be tested with a set of test cases when the program is executed and output is evaluated for that program to decide whether the program is performing according to the expectation.[16]

Testing is a process for finding errors while executing a program.

A good test case is one which has the high probability of finding errors.

A test is successful if it uncovers all the errors.

Test plan:

Testing starts with a test plan and ends with acceptance testing. A test plan is a common document for the complete project which defines the scope and research to be approach. Test planning have to be completed well before the actual testing starts and it can also be prepared parallel with the coding and the designing phases.

The inputs for preparing the test plan are

1. Project plan

2. The documents required

A test should posses the following:

Test unit specification: A test unit is a group of one or more modules together with associated data. In this project we will perform tests on the following units.[19][15]

1. Connecting to Web server.

2. Selecting the Students Details.

3. Validation of the Student registration.

4. Selecting the Details of Exam.

5. Displaying Results.

6. Disconnect.

Features to be tested:

This includes all the combinations of software features that are going to be tested. A feature is a software characteristic implied by the design documents. These may include quality, performance, functionality, design constraints and attributes. In this project all the functional features which are specified in the documents will be tested.

Appendix:

// JavaScript helper required to detect Flash Player PlugIn version information

function GetSwfVer(){

// NS/Opera version >= 3 check for Flash plugin in plugin array

var flashVer = -1;

if (navigator.plugins != null && navigator.plugins.length > 0) {

if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {

var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";

var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;

var descArray = flashDescription.split(" ");

var tempArrayMajor = descArray[2].split(".");

var versionMajor = tempArrayMajor[0];

var versionMinor = tempArrayMajor[1];

var versionRevision = descArray[3];

if (versionRevision == "") {

versionRevision = descArray[4];

}

if (versionRevision[0] == "d") {

versionRevision = versionRevision.substring(1);

} else if (versionRevision[0] == "r") {

versionRevision = versionRevision.substring(1);

if (versionRevision.indexOf("d") > 0) {

versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));

}

}

var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;

}

}

// MSN/WebTV 2.6 supports Flash 4

else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;

// WebTV 2.5 supports Flash 3

else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;

// older WebTV supports Flash 2

else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;

else if ( isIE && isWin && !isOpera ) {

flashVer = ControlVersion();

}

return flashVer;

}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)

{

versionStr = GetSwfVer();

if (versionStr == -1 ) {

return false;

} else if (versionStr != 0) {

if(isIE && isWin && !isOpera) {

// Given "WIN 2,0,0,11"

tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]

tempString = tempArray[1]; // "2,0,0,11"

versionArray = tempString.split(","); // ['2', '0', '0', '11']

} else {

versionArray = versionStr.split(".");

}

var versionMajor = versionArray[0];

var versionMinor = versionArray[1];

var versionRevision = versionArray[2];

// is the major.revision >= requested major.revision AND the minor version >= requested minor

if (versionMajor > parseFloat(reqMajorVer)) {

return true;

} else if (versionMajor == parseFloat(reqMajorVer)) {

if (versionMinor > parseFloat(reqMinorVer))

return true;

else if (versionMinor == parseFloat(reqMinorVer)) {

if (versionRevision >= parseFloat(reqRevision))

return true;

}

}

return false;

}

}

function AC_AddExtension(src, ext)

{

if (src.indexOf('?') != -1)

return src.replace(/\?/, ext+'?');

else

return src + ext;

}

function AC_Generateobj(objAttrs, params, embedAttrs)

{

var str = '';

if (isIE && isWin && !isOpera)

{

str += '<object ';

for (var i in objAttrs)

{

str += i + '="' + objAttrs[i] + '" ';

}

str += '>';

for (var i in params)

{

str += '<param name="' + i + '" value="' + params[i] + '" /> ';

}

str += '</object>';

}

else

{

str += '<embed ';

for (var i in embedAttrs)

{

str += i + '="' + embedAttrs[i] + '" ';

}

str += '> </embed>';

}

document.write(str);

}

function AC_FL_RunContent(){

var ret =

AC_GetArgs

( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

, "application/x-shockwave-flash"

);

AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);

}

function AC_SW_RunContent(){

var ret =

AC_GetArgs

( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"

, null

);

AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);

}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){

var ret = new Object();

ret.embedAttrs = new Object();

ret.params = new Object();

ret.objAttrs = new Object();

for (var i=0; i < args.length; i=i+2){

var currArg = args[i].toLowerCase();

switch (currArg){

case "classid":

break;

case "pluginspage":

ret.embedAttrs[args[i]] = args[i+1];

break;

case "src":

case "movie":

args[i+1] = AC_AddExtension(args[i+1], ext);

ret.embedAttrs["src"] = args[i+1];

ret.params[srcParamName] = args[i+1];

break;

case "onafterupdate":

case "onbeforeupdate":

case "onblur":

case "oncellchange":

case "onclick":

case "ondblclick":

case "ondrag":

case "ondragend":

case "ondragenter":

case "ondragleave":

case "ondragover":

case "ondrop":

case "onfinish":

case "onfocus":

case "onhelp":

case "onmousedown":

case "onmouseup":

case "onmouseover":

case "onmousemove":

case "onmouseout":

case "onkeypress":

case "onkeydown":

case "onkeyup":

case "onload":

case "onlosecapture":

case "onpropertychange":

case "onreadystatechange":

case "onrowsdelete":

case "onrowenter":

case "onrowexit":

case "onrowsinserted":

case "onstart":

case "onscroll":

case "onbeforeeditfocus":

case "onactivate":

case "onbeforedeactivate":

case "ondeactivate":

case "type":

case "codebase":

case "id":

ret.objAttrs[args[i]] = args[i+1];

break;

case "width":

case "height":

case "align":

case "vspace":

case "hspace":

case "class":

case "title":

case "accesskey":

case "name":

case "tabindex":

ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];

break;

default:

ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];

}

}

ret.objAttrs["classid"] = classid;

if (mimeType) ret.embedAttrs["type"] = mimeType;

return ret;

}

Chapter-6

6 CONCLUSIONS AND FUTURE WORK:

We have developed the project for signal preemption for an emergency vehicle. In this the emergency vehicle should be given priority than the normal vehicle and should be placed infront.This is nothing but, suppose when the emergency vehicle comes on the queue if the signal is red ,the traffic system should pass the information to the control room and then the signal will automatically turns from red to green. This is done by using some signaling process.

We use this project for future references, when the emergency vehicles like ambulance etc...Then the traffic signal processing system informs to the particular control room by using some technologies like GPS and some satellite techniques. By using Global position system we can extract signals from vehicles and we can interact with the control rooms. All these methodology done dynamically. Then the control room should send a message to the next traffic signal in the direction of traversal of the emergency vehicle and make it green until the emergency vehicle leaves the intersection.

These steps should be followed until the emergency vehicle reaches its destination.

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.