Application of a Data Visualization Technique Based on Trees to Aid Prioritization of Requirements...

5
© 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA VIII International Conference on Engineering and Computer Education 81 Application of a Data Visualization Technique Based on Trees to Aid Prioritization of Requirements in Agile Projects Fabio Abrantes Diniz 1 , Thiago Reis da Silva 2 , Diego Grosmann 3 , Ithalo Bruno Gregório de Moura 4 , Francisco Milton Mendes Neto 5 , Pedro Fernandes Ribeiro Neto 6 1 Fábio Abrantes Diniz, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, [email protected] 2 Thiago Reis da Silva, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, [email protected] 3 Íthalo Bruno Grigório de Moura, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, [email protected] 4 Diego Grosmann, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, [email protected] 5 Francisco Milton Mendes Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, [email protected] 6 Pedro Fernandes Ribeiro Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, [email protected] Abstract The practice of requirements prioritization involves the recovery analysis of each requirement by customers and requirements selection that will be implemented in a specific version of the system. Wrong choices during requirements prioritization may affect the system quality and thus its acceptance by customers. Within this context, some practices of requirements prioritization have been addressed in agile projects to improve the requirements prioritization stage. Among them, there is a practice based on Kano technique, which uses the agile development methodology Scrum in software projects. However, the resulting data from Kano practice produces much textual information, which is difficult to be viewed and analyzed in order to determine the real importance of each requirement. Therefore, this paper proposes a data visualization technique based on "TreeMaps" in order to assist in the viewing results o the Kano technique. Index Terms Agile Projects. Prioritizing Requirements. Kano. INTRODUCTION The requirements prioritization is a challenging activity in software development [6]. This practice involves the Stakeholders analysis of each requirement and the requirements selection that will be developed in a specific version of the system. Wrong choices on which requirements should be prioritize and may affect the system quality and, then, be accepted by customers. In agile methodologies, with reference to the Scrum agile methodology, some practices of requirements prioritization have been addressed in agile projects to improve the requirements prioritization stage. Among them, there is a practice based on Kano technique [1]. The Kano technique enables the product developers transform the information obtained by research into real improvements in order to achieve the customer satisfaction [5]. However, the Kano technique produces a lot information with textual presentation by means of tables and reports, which interfere in viewing of such, making the responsible ones spend a lot of time processing large data volumes. Therefore, this work used a data viewing technique based on "TreeMap" [4]. This technique aims to show new ways of data viewing more intuitive and effective, which helps in the analysis of the results obtained by the requirements prioritization practice that is based on Kano technique. SCRUM AN AGILE SOFTWARE DEVELOPMENT METHODOLOGY The agile methodology Scrum has come up proposing to “debureaucratize” the software development process, allowing teams to be more adaptables, rapidly responding to constant changes in software projects. According to their evangelizers, the customer becomes more satisfied, because there are constantly deliveries of developed features, and the customer actively participates in the project bringing knowledge about the business. Scrum stands out from other processes for being a method interactive, incremental and agile for projects management [10. Like any other methodology, it has roles and responsibilities. There are three roles: Product Owner, Team Member and Scrum Master. Product Owner could be the sponsor or the person interested in the project and is in charge to represent the interests of all users of the system. The Team Member is composed by a people group in charge to develop the project taking into account all of the features needed. And finally, the Scrum Master, which the main characteristic is the project leadership, the Product Owner interests management and the conflicts management faced by the Team Member. Scrum works with incremental development, where each iteration is called Sprint. The process must start from the requirements organization of the project in a requirements list named Product Backlog. This list is organized in descending order of priority. From Product Backlog, the team selects parts of the requirements according to priorities in order to Sprint be performed, forming the Sprint Backlog (Sprint task list) [10]. During a Sprint, the team has autonomy to decide how the tasks will be implemented and ensures that the most important requirements are developed first. In addition, there

description

 

Transcript of Application of a Data Visualization Technique Based on Trees to Aid Prioritization of Requirements...

Page 1: Application of a Data Visualization Technique Based on Trees to Aid Prioritization  of Requirements in Agile Projects

© 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA

VIII International Conference on Engineering and Computer Education 81

Application of a Data Visualization Technique Based on Trees to Aid Prioritization

of Requirements in Agile Projects

Fabio Abrantes Diniz1, Thiago Reis da Silva

2, Diego Grosmann

3, Ithalo Bruno Gregório de Moura

4,

Francisco Milton Mendes Neto5, Pedro Fernandes Ribeiro Neto

6

1 Fábio Abrantes Diniz, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, [email protected] 2 Thiago Reis da Silva, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, [email protected] 3 Íthalo Bruno Grigório de Moura, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, [email protected] 4 Diego Grosmann, Master in Computer Science at the Graduate Program in Computer Science – UERN/UFERSA, [email protected] 5 Francisco Milton Mendes Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, [email protected] 6 Pedro Fernandes Ribeiro Neto, Teacher Graduate Program in Computer Science – UERN/UFERSA, [email protected]

Abstract The practice of requirements prioritization

involves the recovery analysis of each requirement by

customers and requirements selection that will be

implemented in a specific version of the system. Wrong

choices during requirements prioritization may affect the

system quality and thus its acceptance by customers. Within

this context, some practices of requirements prioritization

have been addressed in agile projects to improve the

requirements prioritization stage. Among them, there is a

practice based on Kano technique, which uses the agile

development methodology Scrum in software projects.

However, the resulting data from Kano practice produces

much textual information, which is difficult to be viewed and

analyzed in order to determine the real importance of each

requirement. Therefore, this paper proposes a data

visualization technique based on "TreeMaps" in order to

assist in the viewing results o the Kano technique.

Index Terms Agile Projects. Prioritizing Requirements. Kano.

INTRODUCTION

The requirements prioritization is a challenging activity in software development [6]. This practice involves the Stakeholders analysis of each requirement and the requirements selection that will be developed in a specific version of the system. Wrong choices on which requirements should be prioritize and may affect the system quality and, then, be accepted by customers.

In agile methodologies, with reference to the Scrum agile methodology, some practices of requirements prioritization have been addressed in agile projects to improve the requirements prioritization stage. Among them, there is a practice based on Kano technique [1].

The Kano technique enables the product developers transform the information obtained by research into real improvements in order to achieve the customer satisfaction [5]. However, the Kano technique produces a lot information with textual presentation by means of tables and reports, which interfere in viewing of such, making the responsible ones spend a lot of time processing large data volumes.

Therefore, this work used a data viewing technique based on "TreeMap" [4]. This technique aims to show new ways of data viewing more intuitive and effective, which helps in the analysis of the results obtained by the requirements prioritization practice that is based on Kano technique.

SCRUM – AN AGILE SOFTWARE DEVELOPMENT

METHODOLOGY

The agile methodology Scrum has come up proposing to “debureaucratize” the software development process, allowing teams to be more adaptables, rapidly responding to constant changes in software projects. According to their evangelizers, the customer becomes more satisfied, because there are constantly deliveries of developed features, and the customer actively participates in the project bringing knowledge about the business.

Scrum stands out from other processes for being a method interactive, incremental and agile for projects management [10. Like any other methodology, it has roles and responsibilities. There are three roles: Product Owner, Team Member and Scrum Master. Product Owner could be the sponsor or the person interested in the project and is in charge to represent the interests of all users of the system. The Team Member is composed by a people group in charge to develop the project taking into account all of the features needed. And finally, the Scrum Master, which the main characteristic is the project leadership, the Product Owner interests management and the conflicts management faced by the Team Member.

Scrum works with incremental development, where each iteration is called Sprint. The process must start from the requirements organization of the project in a requirements list named Product Backlog. This list is organized in descending order of priority. From Product

Backlog, the team selects parts of the requirements according to priorities in order to Sprint be performed, forming the Sprint Backlog (Sprint task list) [10].

During a Sprint, the team has autonomy to decide how the tasks will be implemented and ensures that the most important requirements are developed first. In addition, there

Page 2: Application of a Data Visualization Technique Based on Trees to Aid Prioritization  of Requirements in Agile Projects

© 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA

VIII International Conference on Engineering and Computer Education 82

are short daily meetings always at the same time with the Scrum Master, which is charge of project management and group leadership. In these meetings, it is discussed the work progress in which every team member presents results of their tasks and what should be done after conclusion [10].

The Sprint output is a set of features 100% developed, which shall be approved by Product Owner (in charge for project definition, definition and prioritization of requirements) and delivered to the customer. At the end of each iteration, the whole team participates in a Sprint retrospective. After the Sprint conclusion, the cycle restarts, removing the next slice of Product Backlog for the next Sprint [10].

In view of the facts presented, it is possible to notice the reason why Scrum is one of the agile methodologies most used by software development companies, because it is a process that builds software incrementally in complex environments, where the requirements are not clear or change very frequently.

KANO TECHNIQUE IN REQUIREMENTS

PRIORITIZATION FOR AGILE PROJECTS

Using Kano technique in requirements prioritization process for agile projects proposed by [1] facilitates the requirements prioritization for the customer. The customer has difficulty in saying what requirement is the most important in a system, because for the customer, all requirements are interesting and indispensable for the product. In Scrum methodology, this happens in many cases. The customer puts many requirements with maximum business value making it clear that the costumer has no idea which requirements are really important.

The application of Kano technique in the prioritization process for agile projects based on Scrum methodology is performed before the Product Owner sends the Product

Backlog to the development team in order to the requirements can be prioritized. The technique is to make a couple of questions for each requirement. A functional question and other non-functional. According to [1] the importance of Kano technique in these questions is to show the parallel between what makes the customer very satisfied and what it does not, this helps to understand the real need for each requirement. If the parallel mentioned is not present in the next prototype delivery, it is very important to have the real need relation for each requirement. It is natural that always be responded that such very important requirement must be done, because the user wants a great amount of activities performed by a software. In these cases, it is interesting include the dissatisfaction criterion to notice what really makes him unsatisfied if it is not developed.

Questions are formed as follows: (a) how would you feel if Requirement X was in the next release? (B) How would you feel if Requirement X was not in the next release? The answer options are specified in Table I.

TABLE I ANSWERS TO THE FUNCTIONL AND NON-FUNCTIONAL

QUESTIONS AND RESULTS FOR EACH COMBINATION

The category I (indifferent) in Table I is used when the

user shows that has no real need for this feature, i.e. it does not matter if is satisfied or not. The category M (mandatory or indispensable) means that if the requirement is not met, the customer will be not satisfied. For the customer, the requirements of category M are already embedded in the products offered, and are therefore a prerequisite. That put the Mandatory requirements will not make the customer happier, however, without them the system does not work and the customer does not acquire the product.

Category D (desired) means that these requirements provide great satisfaction to the customer when they are present, but do not represent dissatisfaction in case they are not present. The category L (linear or important) means that the customer satisfaction is proportional to the completion level of these requirements, i.e., the higher the completion of level, the higher will be the customer satisfaction. The category R (reverse) means that, if that requirement is developed, could cause a rejection to the software or certain feature. The category Q (questionable) means that the user does not understand the questions or that he is not corresponding with the truth [1]. According to the analysis of the proposed work by Asfora [1], shows that the order of prioritization of requirements that would bring a very large value if they are treated is respectively: Mandatory, after the important or linear and, finally, desirable.

According to Table II, the combinations of the responses from Kano table for the two questions generate a result for each requirement. It is seen that the requirement 1 (Req 1) has the largest percentage (43.8 %) for classification as linear or important. The requirement 3 (Req 3) was classified as mandatory and desired because both have close results. Therefore, leaving the following descending order of prioritization: Requirement 2, requirement 1 and finally Requirement 3.

TABLE II

RESULTS SUMMARIZING

Kano technique is very efficient regarding its use and

the data types obtained. However, concerning viewing results, it is very unsatisfactory due to the fact of already

Page 3: Application of a Data Visualization Technique Based on Trees to Aid Prioritization  of Requirements in Agile Projects

© 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA

VIII International Conference on Engineering and Computer Education 83

know which requirements will be prioritized. And it is really difficult to make a decision. For example, in Table II, how to know which requirements (between Req 2 and Req 3) must firstly be implemented? Both appears as mandatory. In agile projects, the team makes fast decisions and it may happen the team does not understand the Kano technique results [1].

Thus, it was adapted to the Kano technique the use of data viewing resource from "TreeMaps" method, because only the table view that is indicating the percentage that were most voted by the users, it is not enough to make the items prioritization.

TREEMAP – A DATA VIEWING TECHNIQUE

BASED ON TREE

TreeMap is a viewing technique that explores ergonomics basic concepts, making human being initially focus their gaze on large figures to then look at small figures [11]. This feature can be used in viewing of items from the Product Backlog, aiming to display the requirements hierarchy that have more priority to be developed.

Some advantages are evident using TreeMap, such as: efficiently uses the whole screen viewing; preserves the general information context; quick navigation among nodes; allows the user a scope overview and is very useful in displaying data quantitative variables [11] [4]. It has been used in multiple applications due to its ease of viewing that provides to users the comparative analysis of a large amount of information. Nowadays, it is used in computer file system applications, geographical maps, complex databases (IBGE), industrial applications (stocks), educational systems, artificial intelligent systems, headlines news, marketing, among others [11].

The TreeMap divides the screen in a nested rectangles sequence corresponding to attributes of a data set. Each rectangle has an area and color which are defined by the values previously set. Therefor, it has properties that must be taken into consideration, and according to [11] and [4], the properties are:

• A weight (requirement classification) will determine the size of each rectangle in the structure;

• The color is used to represent the user's satisfaction in having the requirement in the system [5]. The lighter colors will represent the requirements most desired, while the darker colors will represent the less desired. This work implements a color scale that assigns unique values for each color in order to differentiate them;

• Using pop-ups to show requirement information when hover the mouse over an interest area of rectangle.

Another strong point in the TreeMap construction is the algorithm definition to be used in the rectangles creation. The rectangles layouts are dependent on the division algorithm used. Some of the algorithms used in

TreeSolutions were: Slice and Dice, Squarified TreeMap and Ordered TreeMap [11] [4]. These algorithms represent a hierarchical data structure by rectangles recursive division. This recursion determines the layout by calculating the rectangle area filling them in their respective locations.

There are many different characteristics among these TreeMaps algorithms. These algorithms, when applied to the TreeSolutions tool, have their respective characteristics, presenting variations, advantages and disadvantages among them. It is interesting to make a comparative analysis among them to be used in certain moments of data viewing. This helps the making decision process becomes faster in order to assist in the requirements prioritization process, so that to choose which requirements have more priorities to be developed in early versions of the prototypes. Table III compares these algorithms through metrics:

• Aspect ratio: (ratio between length and width of the rectangle;

• Stability: checks the data stability in terms of size and position of the rectangles when processing data changes;

• Ordering: evaluates the original order of data when processing data changes;

• Suitability for reading: verifies the performance of the visualization of data regarding structures.

TABLE III

COMPARISON OF TREEMAPS ALGORITHMS

According to Table III, the positive sign (+) indicates a

positive result that brings the metric to the specific algorithm, since the minus sign (-) indicates a negative result or metric in the absence of specific algorithm. Looking at Table III, the Squarified and the Ordered TreeMap algorithms were the most viable for the TreeSolutions tool, because they have characteristics focused on stability and ability to represent an amount of information without generating a TreeMap, which is uncomfortable for the interaction with the user and show suitability for reading and data analysis.

TREESOLUTIONS

Based on the TreeMap concepts, the TreeSolutions was designed to meet the Product Owner in the requirements prioritization stage of Scrum methodology that uses the Kano technique. It helps the Product Owner in decision making to determine the business value of Product Backlog requirements so that it can be delivered faster to the developers team.

Page 4: Application of a Data Visualization Technique Based on Trees to Aid Prioritization  of Requirements in Agile Projects

© 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA

VIII International Conference on Engineering and Computer Education 84

The system is open source and developed in the Java. Tests were performed with the existent data in case studies found in the work produced by [1] and according to the results analysis, it was observed that, using TreeMap technique made data viewing more efficient, consistent, robust and agile. Next, it will be described the TreeSolutions system with the features and the result obtained by TreeMap with a case study data of [1].

TreeSolutions System Implementation

TreeSolutions consists of a desktop system developed in Java. However, there is a beta version for Web. TreeSolutions is subdivided into two main modules implementation: TreeMap Module and Interface Module. In the Interface module, the Product Owner has access to a graphical interface with information about its Product

Backlog containing the requirements. This interface allows insertion of the Product Backlog. In addition, the information coming from the Kano table are inserted, such as: the categories percentage values of all requirements (mandatory, linear, desired, questionable, reverse or indifferent). They could be imported and exported into a file in XML (Extensible Markup Language).

In the TreeMap module is implemented the viewing technique named TreeMap. We used the Java TreeMap class that offers additional features to associate the order to the collection elements. The algorithms mentioned in Section 5 were developed and implemented in this module to represent the rectangles areas and were implemented the color providers, which import the color models RGB (Red, Green and Blue), HSB (Hue, Saturation and Brightness) and its variations for colors reproduction in the rectangles areas of the TreeMap.

According to the system implementation context, it was given the rectangle area as an attribute more significant than the color, since the area represents indispensable and important requirements, i.e., they are requirements which without them, the system does not work. The rectangle color represents the user satisfaction in having the requirement in the system. Then, the clearer is the color in the colors scale, the greater is the user satisfaction having the requirement in the system. The rectangle area indicates the presence degree, i.e., rectangles of greater area represent the requirements that must be in the system. Therefor, the larger is the area and the greater is the color in the colors scale, this indicates that this requirement has higher priority and should be implemented first.

To calculate the size of the rectangle area due its function of serve to "measure the presence degree in the system", it was made a weighted average with the data inputs of the Mandatory and Linear categories, with their respective weights, such as: data entry or by a standard default of the chosen system. The default values are: Mandatory = 10, Linear = 5, Desired = 2, Indifferent = 0, Questionable = -1, Reverse = -2. These values were

allocated according to the their characteristics contexts and analyzed tests during development. The questionable category and the reverse received negative values, because they categorized the requirements that do not bring satisfaction to the users [1].

In addition to presenting to the user the requirements viewing in rectangle shape, the system has the pop-up resource, which presents the requirement information when hover the mouse over the area that represents a requirement, such as: rectangle size are, color value, and the requirement attributes with its values received from the Kano table result.

System Results

The test of TreeSolutions system was performed based on data collected in [1]. The data acquired involve a case study of the (CESAR), short for Centro de Estudos e

Sistemas Avançados do Recife (English: Recife Center for Advanced Studies and Systems). They were originated of the SEPG project - group of improvement of the internal software development process [1]. Some of these data are presented in Table IV, which contains 15 requirements with their results from applying of Kano technique.

The TreeMap resulting is from data entry in Table IV, which is shown in Figure 1. According to the results analysis, it was observed that using the TreeMap technique made the data viewing more efficient and robust for the list preparation of requirements prioritized.

TABLE IV

RESPONSE PERCENTAGE GENERATED BY KANO TECHNIQUE [1].

As is shown in Figure 1, the viewing screen has a

choice field of the viewing strategy (a) in which you choose the algorithm used in the TreeMap construction and has the rectangles color scale that can be changed according to user's wish (d, e). The central part (c) shows the requirements list of the project selected (f). Finally, when you hover the mouse over one of the rectangles, appears a pop-up showing the requirement details (b).

As is shown in Figure 1, the viewing screen has a choice field of the viewing strategy (a) in which you choose the algorithm used in the TreeMap construction and has the rectangles color scale that can be changed according to user's wish (d, e). The central part (c) shows the requirements list of the project selected (f). Finally, when

Page 5: Application of a Data Visualization Technique Based on Trees to Aid Prioritization  of Requirements in Agile Projects

© 2013 ICECE March 03 - 06, 2013, Luanda, ANGOLA

VIII International Conference on Engineering and Computer Education 85

you hover the mouse over one of the rectangles, appears a pop-up showing the requirement details (b).

FIGURE 1

DATA VIEWING FROM TABLE IV IN THE TREEMAP The consolidation of the previous results from

TreeMap analysis is shown in Table V. It presents both the requirements priority list, which must be selected to be implemented by developers and the requirements which must be on hold for future versions of the software. The requirements more required are those which have lower values in the Priority column of Table V. It is important to remember that this prioritization was formed solely based on the users satisfaction who answered the survey. It is wise to consider the data as effort and cost to implement the requirements before generate the final prioritization.

TABLE V

PRIORITIZATION SUGGESTION TABLE Priority Selected On Hold

1 Requirement 11 Requirement 1 2 Requirement 10 Requirement 4 3 Requirement 2 Requirement 6 4 Requirement 3 Requirement 7 5 Requirement 5 Requirement 9 6 Requirement 8 Requirement 12 7 Requirement 14 8 Requirement 13 9 Requirement 15

CONCLUSION AND FUTURE WORK

The main goal of this work was to propose a viewing technique using TreeMap in order to support the requirements prioritization practice in agile projects based on Kano technique Kano. As contribution, it was also developed a Web-based system named TreeSolutions for

applying of technique proposed. Compared to the results viewing process of textual form, it is clearly observed the improvement that this tool provides to the user regarding to the decision-making process.

The proposed tool proved to be efficient in conducting a quick feedback on the data analysis, generating less documentation and less effort in requirements prioritization. In addition, it is more users friendly and easily understood. Thus, TreeSolutions supports the Product Owner to prioritize the Product Backlog in a manner more efficient and robust. As a result, the developers teams can estimate and develop the requirements faster. As future work, we intend to add Kano table into the tool, so that the entries could be made faster for the TreeMap. This will generate information viewing directly from the table. It is also intended to implement other data viewing techniques.

REFERENCES

[1] ASFORA, D. M. Uma abordagem para a priorização de

requisitos em ambientes ágeis. 2003. Dissertação (Mestrado em Ciência da Computação). Centro de Informática, Universidade Federal de Pernambuco, Recife.

[2] CARD, S. K.; MACKINLAY, J. D.; SHNEIDERMAN, B. “Readings in Information Visualization: usingvision to think”. Morgan Kaufman Publishers, San Francisco, USA. 1999.

[3] CHEN, C.; BÖRNER, K. “Visual Interfaces to Digital Libraries: Motivation, Utilization, and Socio-technical Challenges”. In: Visual Interfaces to Digital Libraries, v. 2539, Lecture Notes in Computer Science. Springer-Verlag, pp.1-9. 2002.

[4] JOHNSON, B.; SHNEIDERMAN, B. “Tree-maps: a space-filling approach to the visualization of hierarchical information structures”. 1991. In: IEEE Conference Visualization, v. 22, n. 25., pp.284-291.

[5] KANO, N. at al. “Attractive Quality and Must-be Quality”. In: Journal of the Japanese Society for Quality Control. v. 14, n. 14, p. 39-48. 1994.

[6] LAMSWEERDE, A. “Requirements Engineering in the year 2000”: a research perspective. 22nd Proceedings of International Conference on Software Engineering. Limerick, Ireland.

[7] LEE, M. C.; NEWCOMBE, J. F. “Applying the Kano methodology to meet customer requirements: NASA’s microgravity science program”. Quality Management Journal, v. 4, n. 3, p. 95-110. 1997.

[8] MILLER, G. “The Magical Number Seven, Plus or Minus Two: some limits on our capacity for processing information”. The Psychological Review, v. 63, n. 2, pp. 81-97. 1956.

[9] NORMAN, D. A. “Things that make us smart: defining human attributes in the age of the machine”. Addison-Wesley Publishing Company, New York. 1993.

[10] SCHWABER, k. “Agile Project Management with Scrum”. Microsoft Press. 2001.

[11] SHNEIDERMAN, B. “Tree Visualization with TreeMaps: 2D space-filling approach”. In: ACM Transactions on Graphics, v. 11, n. 1, p. 92-99. 1992.

[12] SHNEIDERMAN, B.; WATTENBERG, M. “Ordered TreeMap layouts” Information Visualization, 2001. INFOVIS 2001. IEEE Symposium on , vol., no., pp.73-78. 2001.