30
A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS BAKTAVATCHALAM G (08MW03) Dissertation submitted in partial fulfillment of the requirements for the degree of MASTER OF ENGINEERING Branch: COMPUTER SCIENCE AND ENGINEERING Specialization: SOFTWARE ENGINEERING Of Anna University May 2010 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING PSG COLLEGE OF TECHNOLOGY (Autonomous Institution) COIMBATORE – 641 004

ME Project Report - A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Embed Size (px)

DESCRIPTION

A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Citation preview

Page 1: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING

SOFTWARE AGENTS

BAKTAVATCHALAM G (08MW03)

Dissertation submitted in partial fulfillment of the requirements for the degree of

MASTER OF ENGINEERING

Branch: COMPUTER SCIENCE AND ENGINEERING Specialization: SOFTWARE ENGINEERING

Of Anna University

May 2010

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING PSG COLLEGE OF TECHNOLOGY

(Autonomous Institution)

COIMBATORE – 641 004

Page 2: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

PSG COLLEGE OF TECHNOLOGY (Autonomous Institution)

COIMBATORE – 641 004

A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE

AGENTS

Bonafide record of work done by

BAKTAVATCHALAM G (08MW03)

Dissertation submitted in partial fulfillment of the requirements for the degree of

MASTER OF ENGINEERING

Branch: COMPUTER SCIENCE AND ENGINEERING

Specialization: SOFTWARE ENGINEERING

Of Anna University

MAY 2010 _________________ ________________________ Ms.R.Shalini Dr.S.N.SIVANANDAM Faculty Guide Head of the Department Certified that the candidate was examined in the viva voce examination held on ………………

---------------------------- ------------------------------ (Internal Examiner) (External Examiner)

Page 3: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Acknowledgement

i

ACKNOWLEDGEMENT

We wish to express our sincere gratitude to our respected Principal Dr. R. Rudramoorthy for having given us the opportunity to undertake our project.

We also wish to express our sincere thanks to Dr. S. N. Sivanandam, Professor and Head of the Department of Computer Science and Engineering, for his

encouragement and support that he extends towards our project work.

We also wish to express our sincere thanks to Mr. B. Murali Balaraman, MD, Transpace Tech Pvt Ltd, Banglore for his support and guidance that he extends

towards our project work.

We extend our sincere thanks to our internal guide Ms. R. Shalini, Lecturer, Department of Computer Science and Engineering her helpful guidance rendered for

the successful completion of our project.

Page 4: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Contents

iii

CONTENTS

CHAPTER Page No. Synopsis………………….………………………………………………..…………….. .(i) List of Figures.………….………………………………………………...…………….. .(ii) List of Tables.…………………………………………………………………………….(iii) 1. INTRODUCTION.……...…………………………………………………………... .1

1.1. Problem Definition 1

1.2. Objective of the Project 1

1.3. Significance of the Project 1

1.4. Outline of the Project 1

2. SYSTEM STUDY..…….……………………..……………………………………...3 2.1. Existing System 3

2.1.1. Literature Survey on Existing Systems 3

2.2. Proposed System 13 3. SYSTEM ANALYSIS..…….……………………..………………………………….15

3.1 Requirement Analysis 15 3.2 Feasibility Study 15

4. SYSTEM DESIGN…...…….……………………..………………………………….17 4.1 Contextual Activity Diagram 17

5. SYSTEM IMPLEMENTATION.………………..…………………………………...18 5.1 Server Agent Module 18

5.2 Client Agent Module 18

6. TESTING……………………….………………..……………………………………19 6.1 Unit Testing 19

6.2 Integration Testing 20

6.3 Real time System Testing 20

6.4 Sample Test Cases 21

7. SNAPSHOT.…..……………….………………..…………………………………..22

7.1 Local Decision Manager and Control Manager 22

7.2 Signal Processing 23

CONCLUSION………………..………….……………………………….……….……..24 FUTURE ENHANCEMENTS..…………………………………………………….……. .25

BIBLIOGRAPHY...…………………………………………………………….………….26

Page 5: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Synopsis

i

SYNOPSIS

The Embedded Systems can accomplish many complicated tasks in

different working environments. In real time Embedded Applications such as Missile

Guidance, Satellite monitoring systems and Boiler temperature control, the system has

to be monitored and controlled continuously without any interrupt. But, because of

various factors such as over loading, system failure, resource unavailability, network

failure the system may be interrupted and the whole control will collapse.

Concurrency and Synchronization are the ordinary problems in the

embedded software usually must be confronted with. This issue presents a novel

method for controlling such problems efficiently. To avoid the inefficiency or collision

induced by directly coupling amongst multi-tasks that conventional methods mostly did,

software agent architecture designing can cope with such work more properly.

The main work of this project includes designing software agent

architecture for typical Concurrent Embedded System Applications which have Soft Real

time Requirements. Also the Embedded System Components are controlled by real time

conditions which are triggered in the Local Embedded System components or/and other

Remote Embedded System Components. Our Multi-Agent architecture provides

improved Accuracy and Concurrency between the embedded systems Components.

Page 6: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

List of Figures

ii

LIST OF FIGURES

FIGURE NO LIST OF FIGURES PAGE NO.

Fig: 2.1

Fig: 2.2

System Architecture

Context Diagram

3

8

Page 7: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

List of Tables

iii

LIST OF TABLES

TABLE NO TABLE NAME PAGE NO.

Table 6.1 Sample Test Cases 15

Page 8: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Introduction Chapter 1

1

CHAPTER 1

INTRODUCTION

This chapter provides a brief overview of the company profile problem definition,

objectives and significance of the project and an outline of the report.

1.1 PROBLEM DEFINITION Design and Implementation of Software Agents to Monitor and Control the

Embedded Systems Components which are Distributed Geographically and to provide

better Data Analysis & Sampling Accuracy and better Synchronization between the

Agents

1.2 OBJECTIVE OF THE PROJECT Conditional Control of the Embedded System Components is critical in nature

when the conditions computed from various Embedded System Components which are

in Distributed Places. So this project gives a better solution to control the Distributed

Embedded system components using conditions which are computed over required

distributed components.

1.3 SIGNIFICANCE OF THE PROJECT With the enormous growth in embedded systems, there is a corresponding need

for tools that enable fast and efficient control & tracking of Embedded System

Components. The concurrent execution of Multi-Agents will greatly simplify the

complexity of the Accuracy & Synchronization between the Components.

1.4 OUTLINE OF THE PROJECT

Page 9: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Introduction Chapter 1

2

The rest of the report is structures as follows. Chapter 2 provides a detailed study

of the existing system and the basic ideas of the proposed system. Chapter 3 discusses

the requirements for the development of the system and an analysis on the feasibility of

the system. Chapter 4 presents the overall design of the system. Chapter 5 discusses

the implementation details. Chapter 6 explains various testing procedures conducted on

the system. Chapter 7 contains the snapshot of various forms in our system. The last

section summarizes the project.

Page 10: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Study Chapter 2

3

CHAPTER 2

SYSTEM STUDY

This chapter elucidates the existing system and a brief description of the

proposed system.

2.1 EXISTING SYSTEM 2.1.1 A Simple Literature Survey on Existing System Approaches

1. “Software Agent Design with Real Time Scheduling for Embedded Systems” by Hu Jin, Liang-Yin Chen, Nian-Wei Chen, Yang Lei

Fig. Heterogeneous Embedded System Architecture with agent

In this paper, Agent design is in software level, and would not change the

hardware structure of embedded system. The agent schedulers and

synchronizes components that in charge of the concurrent tasks. Concurrent

tasks with synchronization or real time constraints should register in the agent

Page 11: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Study Chapter 2

3

firstly. Then, after agent figuring out reasonable execution sequence, it

synchronizes all tasks and schedules them in turn. That can avoid the heavy and

complicated synchronization work amongst processes and lowers shared

resources access collision.

The agent needs not to be persistent for economic resources usage, and

it can be triggered by concurrent tasks request dynamically. When receiving new

service requests, the agent will re-computes possible response time and decides

whether or not they can be merged into current task group for scheduling.

Here Rate Monotonic Scheduling Algorithm is used in the agent design

for group scheduling work. The System consists of n tasks S = {t1, t2, …, tn}.

Also these tasks should be independent of each other. If this group of tasks is

schedulable, it can satisfy the next equation,

(1)

Where Ci is the worst time cost and Ti is the period of task i. Tasks with

shorter periods are assigned higher priorities with RMS algorithm. Usually, the

tasks are not completely independent because there is synchronization or

cooperation. Then, RMS relaxes the previous constraint and gets the next

equation.

(2)

Where Ci and Ti are the same as that of (1), Bi is the time that task i

blocked by lower priority tasks. Case that lower priority processes block higher

ones is said to priority inverse. Formula (2) guarantees that synchronization tasks

can meet real time requirement.

2. “Deadline assignment in a distributed soft real-time system” by B. Kao and

H. Garcia-Molina.

In this paper, they focus on soft real-time systems (although they would like to

remark that the techniques they will discuss can also be applied to hard systems).

They assume that the distributed system consists of independent components, each

Page 12: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Study Chapter 2

3

with its own scheduler. The schedulers do not perform load balancing among them.

They believe that large systems are built out of preexisting components. Each

component will have its own scheduling policy and will be unable or unwilling to

coordinate or subordinate its scheduling decisions with (or to) others.

They consider two types of tasks in their system: locals and globals. A local task

is one that is executed at one and only one node. (Each system component, e.g., a

database server, is represented by a node in their model.) A global task, on the other

hand, can be quite complex and may involve work at multiple nodes in the system. In

this paper, they only consider global tasks that are serial-parallel. As shorthand, they

use the notation T = [T1 T2 ... Tn] to represent a global task T that consists of n

subtasks, T1, T2, ..., Tn, to be executed in series. A subtask Ti (i > 1) cannot execute

before subtask Ti-1 finishes. They also use the notation T = [T1 k T2 k ... k Tn] to

represent a global task T consisting of n subtasks T1, T2, ..., Tn to be executed in

parallel. The n subtasks arrive at the same time and task T is considered finished

only if all n subtasks finish. Composition of these notations is possible. They call a

subtask which involves execution only at a single node a simple subtask. A subtask

that is itself a global task is called a complex subtask.

A task X (whether it is a local task, a simple subtask, or a global task) has the

following five attributes: arrival time (ar(X)), deadline (dl(X)), slack (sl(X)), real

execution time (ex(X)), and predicted execution time (pex(X)). They do not assume

the value of ex(X) be available, but some of their SDA strategies do take advantage

of an estimate, pex(X), which is an approximation to ex(X). These attributes are

related by: dl(X) = ar(X) + ex(X) + sl(X). They also define flexibility (denoted by fl(.))

of a task X to be the ratio of X’s slack to the execution time of X. That is, fl(X) = sl(X)/ex(X). Intuitively, the more flexible a task is (higher fl(.)), the less stringent is its

timing constraint. Finally, tardy tasks are not aborted.

Page 13: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Study Chapter 2

3

2.2 PROPOSED SYSTEM Our proposed methodology uses Client-Server Computing Model. The Clients

are distributed geographically and connected through any network. Each Client has its

separate dedicated Software Agent Application and connected with a dedicated

Embedded System Component. The Server has a Software Agent Monitor Application to

monitor all clients.

Fig. Proposed System Architecture

We use following signal format to exchange data between the Agents,

Fig. Signal Data Format

This data packet format is fixed size, so the network latency will be reduced. The

server agent parses data packet and sends the signal ID to the corresponding client

agent which is having the corresponding destination device ID within the given Time

Page 14: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Study Chapter 2

3

Limit period. The Time Limit for the components are specified and fixed for each

component.

Our System model consists of ‘n’ clients (Ci [ith client]) and each client contains a

separate queue ‘Qi [ith client Queue]’ which stores the requests (‘REQij [ith client jth

request] ‘) and Decision Rule Set ‘Ri[ith client Rule Set]’.

The time needed to execute the rule set Ri for an item REQij in the queue Qi is denoted

as TRQi and calculated as,

TRQij = TRij + Wij + Nij where,

TRij is the approximate execution time of REQij

Wij is the approximate waiting time of REQij in Qi

Nij is the approximate Network Delay of REQij

The Queue in the agent is designed with Multiple Fetchers then we can optimize

the TRQi, for example if we use ‘m’ fetchers then ‘m’ REQij are fetched from the Queue

simultaneously, so the optimized TRQi is calculated by,

TRQij = TRij + (Wij/Mi) + Nij where,

Mi is the number of fetchers in the queue Qi

To decrease network latency we only transfer the control signals and we use

fixed size format for control signal as (256 bits [for signal] and 128 bits [for

acknowledgement]) and all other data samples of embedded system components are

dumped into local storage for future analysis, so the Network Delay Nij is calculated as,

Nij = CFij * PRij where,

CFij is the total congestion factor / probability for REQij

CFij={0.0 to 1.0} if the value is 1.0 then the network is fully congested

PRij is the propagation time of REQij from source to destination

Here the CFij is reduced because of fixed data packets, so the Nij will be reduced.

Page 15: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Analysis Chapter 3

4

CHAPTER 3

SYSTEM ANALYSIS This section describes the hardware and software specifications for the

development of the system and an analysis on the feasibility of the system.

3.1 REQUIREMENT ANALYSIS 3.1.1 Software Requirements After experimenting with various commercial software available and analyzing

the Pros and Cons of the software, the following are chosen.

• Operating System – Platform Independent • Programming Languages – Java 1.6+ • Front End - Java Swing, JSP • Framework - jUSB • IDE – Netbeans 6.5

3.1.2 Hardware Requirements The Hardware requirements of the proposed system are as follows:

• Pentium-III machine & above

• RAM-256 MB

• Hard Disk with a Capacity of 10 GB • Network of Computers with above configuration for Cluster

3.2 FEASIBILITY ANALYSIS Feasibility deals with step-by-step analysis of the system. Analysis showed that

this project was feasible in all respects. Three kinds of feasibility factors are considered:

• Economic Feasibility

Page 16: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Analysis Chapter 3

5

• Technical Feasibility

• Operational Feasibility

3.2.1 Economic Feasibility

The system is developed only using those softwares that are very well used in

the market, so there is no need for installation of new softwares. Hence, the cost

incurred towards this project is negligible

3.2.2 Technical Feasibility

3.2.2.1 Concurrency & Synchronization The main aim of our project is to develop the software agents which are provide

better concurrency & synchronization between the distributed embedded systems

components.

3.2.2.2 Decision Control Rules Next important thing that must be done in our project is to create better rules for

making control decision for individual components.

3.2.3 Operational Feasibility The functions needed to be performed by the system are all valid and without

any conflicts. All functions and constraints specified in the requirements are completely

operational. The requirements stated are realistically testable.

The requirements are adaptable to changes with out any large-scale effects on

other system requirements. The system is capable of accommodating future

requirements if they arise.

Page 17: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Design Chapter 4

6

CHAPTER 4

SYSTEM DESIGN This chapter describes the functional decomposition of the system and illustrates

the movement of data between external entities, the processes and the data stores

within the system, with the help of contextual and architecture diagrams.

4.1 CONTEXT DIAGRAM

Page 18: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Design Chapter 4

7

4.2 SYSTEM ARCHITECTURE

Our System is a Client-Server Model Extension. Our System consists of Single

Server Agent and Multiple Client Agents (distributed & connected through network).

The Server Agent Consists of Global Decision Manager and Global Control

Manager to handle the Global decision rule set which are used decide which client agent

need to connect and what signal produced & send to the embedded system component

controller for the given request.

The Client Agent Consists of Data Fetcher to handle the USB port for data

retrieval and data transmission and Local Control & Decision Manager to handle the

Local decision rule set which are used to decide what signal produced & send to the

Page 19: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

System Design Chapter 4

8

embedded system component controller for the given request or generate signal when

any conditional trigger occurrences in the controller and a Data Visualizer to handle the

past data’s of embedded system component and present the data in visual graph from

specified parameters of component.

To optimize the performance an extended Queue is designed with Multiple

Fetchers (MIMO [Multi-In Multi-Out]). This queue is used in both Client & Server Agents

to handle Requests.

.

Page 20: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Implementation Chapter 5

10

CHAPTER 5

IMPLEMENTATION

This phase is broken up into two phases: Development and Implementation. The

individual system components are built during the development period. Programs are

written and tried by users. During Implementation, the components built during

development are put into operational use. In the development phase of our system, the

following system components were built.

• Server Agent module

• Client Agent module

5.1 Server Agent Module 5.1.1 Queue

• Contains methods (enqueue, multi-fetch dequeue, …) to handle the

Signal(dev_id,sig_id,time) type data.

5.1.2 Global Control Manager

• Contains methods (signal forward, queue fetch, rule check , …) to handle the

client agents requests.

5.1.3 Global Decision Manager

• Contains methods to handle the Local decision rule set which are decide

which client agent and what signal produced & send to the embedded system

component controller for the given request.

Page 21: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Implementation Chapter 5

11

5.2 Client Agent Module 5.2.1 Data Fetcher Module

• Contains methods to handle the USB port for data retrieval and data

transmission. The data from USB port is coming from Embedded system

component controller.

5.2.2 Queue • Contains methods (enqueue, multi-fetch dequeue, …) to handle the

Signal(dev_id,sig_id,time) type data which are sent by the global control

manager.

5.2.3 Local Control Manager

• Contains methods (signal forward, queue fetch, rule check , …) to handle the

arrived client agent requests.

5.2.4 Local Decision Manager

• Contains methods to handle the Local decision rule set which are decide

what signal produced & send to the embedded system component controller

for the given request or generate signal when any conditional trigger

occurrences in the controller.

5.2.3 Data Visualizer • Contains methods to handle the past data’s of embedded system component

and present the data in visual graph from specified parameters of component.

Page 22: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Testing Chapter 6

12

CHAPTER 6

TESTING

This chapter explains the various testing procedures conducted on the system.

Testing is a process of executing a program with the intent of finding an error. A

successful test is one that uncovers an as yet undiscovered error. A testing process

cannot show the absence of defects but can only show that software errors are present.

It ensures that defined input will produce actual results that agree with the required

results. A good testing methodology should include

• Clearly define testing roles, responsibilities and procedures

• Establish consistent testing process

• Streamline testing requirements

• Overcome “requirements slow me down” mentality

• Common sense process approach

• Use some elements of existing Process

• Not an attempt to replace, rewrite or redefine Process

• To find defects early and to give good time to developers for bug fixes

• Independent perspective in testing

Some of the testing principles used in this project are:

• Unit Testing

• Integration Testing

6.1 UNIT TESTING Unit testing is a strategy by which individual components, which make up the

system, are tested first to ensure that system works up to the desired extent. It focuses

on the verification effort on the smallest unit of the software design i.e. module. Various

modules of the system are tested to see whether they perform their intended functions.

Using procedural design description, important control paths are tested to uncover the

Page 23: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Testing Chapter 6

13

errors with in the boundary of the module. While accepting a connection using specified

functions we go for unit testing in their respective modules. The unit test is normally a

white box test (a testing method in which the control structure of the procedural design is

used to derive test cases).

6.1.1 Process Objectives To test every unit of the software in isolation before integrating it with other units

6.1.2 Definition of Unit

A unit is a module as identified during size estimation process with a size

estimate that does not exceed 1000LOC.

For GUI applications each screen will be a unit.

If the size estimate for a unit exceeds 1000 LOC and it is not feasible to break it

into smaller logically independent units that can be tested in isolation, the project lead in

concurrence with the SQA can decide to define this as a unit.

6.1.3 Entry Criteria The entry criteria for this process are the following:

• Unit completed

• Unit peer reviewed

6.1.4 Exit Criteria The exit criteria for this process are the following:

• Unit test cases executed

• Any defects that are identified during unit testing and that are not fixed before the

unit enters component testing is listed in the test report and verified

• 100% statement coverage

If unit will be tested before code review of unit, this must be identified in the

project plan. In these projects the developer will self-review (desk check) the code

before unit testing.

In cases of exception handling of error conditions that are difficult to generate,

thereby making it impossible to achieve 100% statement coverage, the code should be

formally reviewed with this additional criteria

Page 24: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Testing Chapter 6

14

6.2 INTEGRATION TESTING The integration testing is a systematic technique for constructing the program

structure while conducting tests to uncover errors associated with interfacing. It is a type

of testing by which the individual modules of the system are combined and tested

whether they work properly as a whole. The objective is to take unit test modules and

build a program that has been dictated by the design. Integration testing can be either

‘Incremental’ or ‘Non-Incremental’.

The objective of the integration testing is to help engineers plan and execute the

component and Integration testing for their respective projects.

Integration testing should include the following objectives:

• Performed by the product group/Dev test team after feature complete

• Determines that all product components on a list of specific platforms function

successfully together (The List specified in Master test plan)

• Performed in a basic product / platform environment (Basic environment

specified in Master test plan)

• Tests the product functionality against the specification

• Tests functionality of fake languages with sample single and double byte

languages

• Tests scaling to an acceptable minimum level as called out in the master test

plan

• Tests performance, reliability to an acceptable level as called out in the master

test plan

• Final integration tests done after all components are integrated, with the build in

production format

The tasks of the project have been integrated and the functioning of the entire

system has been found to be satisfactory. The functionality of the entire system has

been subjected to a series of tests and all the modules have been found to interoperate

properly.

Finally the integration testing was performed on the integrated system and found

to work properly.

Page 25: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Testing Chapter 6

15

6.3 REAL TIME SYSTEM TESTING A Real Time System must run continuously until it has been powered off and •

Failure to run properly can mean great economic loss and/or loss of human life. So the

testing of Real time System Applications are critical in nature.

We can minimize failure in real time systems by Software Test (various levels),

System Test, Build test and recovery software and/or hardware into the design,

Exception handling (limit checking, etc.) to recover from bad data inputs, Redundant

hardware solutions (e.g. 5 processors on Space Shuttle), Fault Tolerant software and

hardware .

Black Box Testing

• – Only inputs and outputs of functions are considered

• – How outputs are generated based on a set of inputs is ignored

• – Run a suite of test cases

o • Exhaustive combination of all inputs

o • Corner cases (min, max, avg)

o • Pathological cases (inputs likely to result in error)

• – Disadvantage: Often bypasses unreachable code

White Box Testing

• – Exercises all paths in a module

• – Driven by logic

Page 26: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Testing Chapter 6

16

• – Static Example: Code Inspections

o • group walkthrough of software logic

o • inspect code line-by-line

• – Dynamic Example: Test all the links and buttons on a web page

6.4 SAMPLE TEST CASES The following are the some of the sample test cases employed along with the

test results have been described in the table below.

Table 6.1 Sample Test Cases

Test Description

Result

Is Agents running with more than one real time components? OK

Is All Agents are return the results properly? OK

Is Agents executes Optimally? OK

Is Decision control computed Accurately? OK

Is Synchronization between all Agents are fine with no errors? OK

Page 27: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Snapshot Chapter 7

16

CHAPTER 7

SNAPSHOT

This chapter contains the snapshot of various snaps from our system.

7.1 Local Decision Manager and Control Manager

7.2 Signal Processing

Page 28: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Conclusion

17

CONCLUSION

The propose method improves the concurrency & Synchronization between the

agents and also maintains the accuracy of data between the components of distributed

embedded systems components. The proposed method gives the best software agents

which are give good accuracy for tracking and controlling of distributed embedded

systems components. Also the extended support of Decision control rules gives better

conditional control over the distributed embedded systems components.

Page 29: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Bibliography

19

BIBLIOGRAPHY

• [1] Hu Jin, Liang-Yin Chen, Nian-Wei Chen, Yang Lei, "Software Agent Design with Real Time Scheduling for Embedded Systems”, pp. 443-447, 2009 International Conference on Embedded Software and Systems, 2009

• [2] X.Koutsoukos, R.Tekumalla, B.Natarajan, C.Lu. ”Hybrid Supervisory Utilization

Control of Real-Time Systems”. 11th IEEE RTAS 2005

• [3] T. Abdelzaher, J. Stankovic, C. Lu, R. Zhang, and Y. Lu. ”Feedback performance control in sofware services”. IEEE Control Systems, 23(3), June 2003

• [4] B. Kao and H. Garcia-Molina. “Deadline assignment in a distributed soft real-time

system”. IEEE Trans. Parallel Distrib. Syst., 8(12):1268–1274, 1997. • [5] [Booch 1994] Booch, G. Object Oriented Analysis and Design with Applications

(second edition), Benjamin/Cummings 1994, ISBN 0-8053-5340-2.

• [6] Java Network Programming, O'Reilly & Associates, Inc.,, Second Edition

Websites

http://java.sun.com/javase/technologies/realtime/ http://jusb.sourceforge.net/ http://javax-usb.org

Page 30: ME Project Report -  A NOVEL APPROACH TO REMOTE TRACKING AND CONTROL OF DISTRIBUTED REAL TIME SYSTEMS USING SOFTWARE AGENTS

Future Enhancements

18

FUTURE ENHANCEMENTS

Currently a prior step is needed to setup all Decision Control Rules for remote

controlling of components before the starting of the Agents. In future New Decision

Control Rules are accepted & adopted dynamically. In Future Agents are developed

using JavaRTOS (which supports Nano Second Threads and highly improved

Concurrency & Synchronization). Currently Agents provides only Aggregated Reports for

visualization, In Future individual Real time visualization reports are produced

dynamically. In Future Agents are extended to support different input methods like

Blutooth, IR …