Theme 8: Commercial off-the-shelf software components evaluation method using multiagent technology



Similar documents
Agent-Based Commercial Off-The-Shelf Software Components Evaluation Method

Enterprise Resource Planning (ERP) and Product selection in Small and Medium Enterprise (SME) organizations

An Empirical Study of COTS components Persuasion, Evaluation & Selection and Integration in software houses Faisalabad, Pakistan

A case study of software procurement strategies in Sudanese organizations Key words Abstract INTRODUCTION

Investigating and Improving a COTS-Based Software Development Process

COTS and Open Systems

Non-Functional Requirements for COTS Software Components

A Wish List for Requirements Engineering for COTSbased Information Systems

Objective Oriented Planning Module 1. Stakeholder Analysis

Life Cycle Activity Areas for Component-Based Software Engineering Processes

WHITE PAPER December TMS Transportation Management Systems & Supply Chain Sustainability

Managing Commercial-Off-the- Shelf (COTS) Integration for High Integrity Systems: How Far Have We Come? Problems and Solutions in 2003

An Implementation of Active Data Technology

An Overview of Challenges of Component Based Software Engineering

COTS-Based Software Development: Processes and Open Issues

Guidance for ISO liaison organizations Engaging stakeholders and building consensus

Decision and uncertainty management for human and human/agent teams. Dr. David Ullman President Robust Decisions, Inc.

A Comparision Between Traditional and Component Based Software Development Process Models

Developing New Processes for COTS- Based Systems. Lisa Brownsword, Tricia Oberndorf, and Carol A. Sledge Software Engineering Institute

COTS-based software development: Processes and open issues

How To Write Software

A Semi-Structured Structured Tailoring-Driven Approach for ERP Selection

Usability metrics for software components

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

Adventures in Estimating Open Source, Component Systems, Agile, and SOA Projects

Master of Science in Marketing Analytics (MSMA)

A HOME HEALTHCARE MULTI-AGENT SYSTEM IN A MULTI-OBJECTIVE ENVIRONMENT. University of Johannesburg, South Africa mmutingi@gmail.com

Description of the program

A Semi-Structured Structured Tailoring-Driven Approach for ERP Selection

Business Analysis Manager - IT

Development, Acquisition, Implementation, and Maintenance of Application Systems

University of Calgary Schulich School of Engineering Department of Electrical and Computer Engineering

2012 North American Vulnerability Research Product Leadership Award

Department of Administration Portfolio Management System 1.3 June 30, 2010

BACKGROUND COMMUNICATION AND TECHNOLOGY TRANSFER

An Argument-based Collaborative Negotiation Approach to Support Software Design Collaboration

Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1

Original Software Component Manufacturing: Survey of the State-of-the-Practice

The Role of Controlled Experiments in Software Engineering Research

Software Component Evaluation: A Theoretical Study on Component Selection and Certification

OIT Cloud Strategy 2011 Enabling Technology Solutions Efficiently, Effectively, and Elegantly

A Study of the Contracting and Procurement Process for Cots Software Projects

Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects

Simplified Use Case Driven Approach (SUCADA) for Conversion of Legacy System to COTS Package

Agent-based University Library System

This software agent helps industry professionals review compliance case investigations, find resolutions, and improve decision making.

Vendor Management. Minimizing Value Leakage. Deloitte Consulting LLP. November 19, 2013

Marketing Science Institute Research Priorities

Performance Appraisal and it s Effectiveness in Modern Business Scenarios

Outsourcing Contracts Insights

Space project management

Engineering a EIA - 632

Do You Have The Right Practices In Your Cyber Supply Chain Tool Box? NDIA Systems Engineering Conference October 29, 2014

Guide to CQI Qualifications for learners

LS/ATN Living Systems Adaptive Transportation Networks

Chapter Thirteen. Informal and Formal Groups

WP2.2.2 Benefit Assessment

Current trends in software industry: COTS Integration

MBA Degree Plan in Finance. (Thesis Track)

Managing Software Product Line

Risk Knowledge Capture in the Riskit Method

Agenda. Background and cloud portability and interoperability concepts Distributed computing reference model. development Conclusions

SAP Solutions Analyst (Finance and Payroll)

1.1.1 Introduction to Cloud Computing

Lina khalid Ahmed Department of Software Engineering Zarqa University Amman, Jordan

Gilead Clinical Operations Risk Management Program

Cisco Services for IPTV

An Agent-Based Concept for Problem Management Systems to Enhance Reliability

Quick Guide: Meeting ISO Requirements for Asset Management

Enterprise Services Integration Transforming Features into Services

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

System Design Approaches. System Design. Model-Driven Approaches Modern Structured Design. Model-Driven Approaches

An Investigation of Agent Oriented Software Engineering Methodologies to Provide an Extended Methodology

CYBER LIABILITY INSURANCE MARKET TRENDS: SURVEY

International Advocacy Capacity Tool for organizational assessment

NAC - NASSCOM S Assessment of Competence

2015 Global Identity and Access Management (IAM) Market Leadership Award

Information Broker Agents in Intelligent Websites

Gestão Integrada de Projectos. Arquitectura

A Guide to Open Source Transformation Services. How and Why Organizations are Making the Move to Open Source

CDC UNIFIED PROCESS PRACTICES GUIDE

Software Rapid Approach to Agency Design and Development

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment Marque Browne Manuel Honegger

Customer Engagement FY Introduction. 2. Customer Engagement. 3. Management Approach

Data quality and metadata

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Arcade Game Maker Pedagogical Product Line: Marketing and Product Plan

Chapter 13. Competitive Negotiation: Evaluation Criteria

An Evaluation Model for Determining Insurance Policy Using AHP and Fuzzy Logic: Case Studies of Life and Annuity Insurances

Should Costing Version 1.1

How to Write the Construction Management RFQ/RFP

INVOLVING STAKEHOLDERS IN THE SELECTION OF A PROJECT AND PORTFOLIO MANAGEMENT TOOL

Using Business Scenarios to Surface Requirements for COTS Products

Software Engineering. Objectives. Designing, building and maintaining large software systems

Objectives. Chapter 12. System Design. Model-Driven Approaches. System Design Approaches Systems Design

Business-to-Business EIPP: Presentment Models, Part 1 By: The Council for Electronic Billing and Payment

Universiteit Leiden. ICT in Business. Leiden Institute of Advanced Computer Science (LIACS) Capability Maturity Model for Software Usage

SUCCESSFUL INTERFACE RISK MANAGEMENT FROM BLAME CULTURE TO JOINT ACTION

Meeting Scheduling with Multi Agent Systems: Design and Implementation

Transcription:

Theme 8: Commercial off-the-shelf software components evaluation method using multiagent technology Abstract In the last decade, the world of software development has evolved rapidly. This evolution has led to Component-Based Software Development (CBSD), which in turn has generated tremendous interest in the development of plug-and-play reusable software, leading to the concept of Commercial Off The Shelf (COTS) software components. The use of COTS is increasingly becoming commonplace. This is mainly due to shrinking budgets, accelerating rates of COTS enhancement, reducing development time and effort constraints, and expanding system requirements. However, the COTS marketplace is characterized by a vast array of products and product claims, extreme quality and capability differences between products, and many products incompatibilities, even when they purport to adhere to the same standards. Therefore, there is need for a robust COTS evaluation methodology to help software developers select appropriate components for projects. A variety of COTS evaluation methods have already been proposed. These methods are based on consensual opinion aggregation approach, aggregation models, or regression models. However, aggregation approaches are applied inappropriately for the COTS evaluation process, while regression models are inadequate for the process. Here we propose an agent-based COTS evaluation method, which models each of the players as either a cooperative or a competing agent that is capable of making its own decisions to meets its goals. In this model, there is an administrator agent that collects, evaluates, and combines knowledge from different areas of expertise (Roles) to offer support in the COTS selection process. This way, we circumvent COTS evaluation problems associated with the consensual opinion aggregation and the regression models approaches. 1. Introduction The COTS-Based Software Development (CBSD) process is the process of assembling components into a new system, as opposed to the traditional software development process which normally creates new systems. Coding, debugging, unit testing and code inspections are reduced, while design and testing are modified. Design focuses more on how to fit pieces together rather than the internal workings of different modules [10]. Testing has to deal with large modules where no source code or documentation is unavailable and complex glueware. CBSD is considerably different from traditional software development. Therefore, it is necessary to modify the traditional process to cater for the differences [4, 10, 11, 12]. COTSbased software developers have a good excuse to loosen their process. However, CBSD introduces new activities. These are COTS evaluations, COTS familiarization, and vendor interaction. Selection of the right COTS is key to the success of CBSD projects because the selected COTS influences the prospective vendors, complexity of the development process, 1

development cost, functionalities and quality of the developed system. In order to choose the right COTS from a set of similar COTS, an evaluation process must be carried out to weigh the functionalities and quality of the COTS against the conditions of the project. A review of literature reveals that a variety of COTS evaluation methods have already been proposed. The Comparative Evaluation Process (CEP) [5] defines evaluation criteria for the process. Weights are established for all of the evaluation criteria with respect to each project s importance. The decision theory behind the evaluation model is the simple weighted averages. The weights are subjective and dependent on a particular project. The Off-The Shelf Option (OTSO) [8] evaluates COTS candidates by first of all building a hierarchy (Ranking) of COTS evaluation attributes and then making comparisons between each possible pair in each cluster (as a matrix), according to attributes strength in fulfilling the conditions of the project. That is, the method uses Thomas Saaty s Analytical Hierarchy Process Model to consolidate the evaluation results for decision making. The COTS-Aware Requirements Engineering Process (CARE) [6] is a goal and agent-oriented approach of COTS selection. However, the method does not attempt to use agent capabilities in the COTS evaluation process. Instead the entire COTS candidate evaluation task is entrusted with the requirements engineer. The COTS-Based Requirements Engineering (CRE) [1] bases the decision of selecting a particular COTS alternative on estimated cost versus benefit. COTS evaluation methods in literature are based on either regression, consensual or aggregation models. In the regression model approach a mathematical utility model is defined that has usually cost as its main variable and a number of other variables called drivers representing various factors influencing the COTS selection. Huge amount of history data accumulated from different projects is required to fine tune the parameters of the model. Considering the uniqueness of the projects and the lack of history data makes the regression models simply inapplicable in real selection scenarios. The consensual approach means letting the members to work out their differences, and then use the agreed upon opinion on each COTS attribute in the multi criteria decision-making model. This seems to solve the problem of opinion aggregation directly. However, it has several limitations: It requires considerable effort and coordination (potentially impractical) amongst members in the collection of data. In addition, members requirements for anonymity and confidentiality may make it infeasible to apply. Finally, it is possible that any consensus reached is a poor indicator of perceptual agreement since the consensus may be affected by group properties and processes. For example, power-dependence relations among members, coalition formation, conformity pressure and group think [3, 13]. The aggregation model approach determines the organization response by using some measure of central tendency of the individual informant responses. The measure of central tendency may be unweighted group mean, weighted group mean, geometric mean, or any other appropriate measure. This is the appropriate approach for opinion aggregation for COTS evaluation process because the process is a multiplayer one, with each of the player having his/her own set of goals, plans, and beliefs which may even be in conflict with those 2

of other players. This characteristic of COTS selection process makes it impractical to use the consensual approach. However, COTS selection methods in literature fail to separate needs (requirements) and uncertainty issues from opinions when using aggregation models. For example, the few methods which address uncertainty issues such as credibility of information source, award this issues a weight and address it just like any other opinion. This is inappropriate, uncertainty issues need be handled using uncertainty management techniques, while conflicting stakeholders needs (requirements) need be addressed using conflict management techniques. Here we propose an agent-based COTS evaluation method. In this method, all the players in the COTS evaluation process submit their opinions and beliefs to the evaluation tool (Note that different groups of players are concerned with different issues in the process). The tool then aggregates these opinions, and handles uncertainty in the process through uncertainty management techniques. The tool also manages conflicts among stakeholders, and ranks the COTS alternatives to offer decision support to the COTS selection team. The main achievements of this method are; the ability to capture uncertainty in the COTS selection process, possibility of evaluating the COTS for all the different parts of a system at once, ability to evaluate the effects of different stakeholders opinions on the COTS evaluation process before advocating for conflict resolution, circumventing the need for a single expert in all the COTS evaluation fields, and the possibility of ranking both the COTS experts and stakeholders. 2. Appropriateness of Agent-Based Model for COTS Evaluation Players in the COTS evaluation process have different roles. Some roles complement, while others compete with each other. Secondly, the interaction between players is not rigidly defined. To be able to capture the roles of players while keeping the flexible nature of their interaction, it is imperative that we use an agent-based model. Other advantages of using agent-based model are: COTS Evaluation: In an agent-based system, there is an agent that works for each of the players in the COTS selection process. Therefore, at the player level, aggregation models can be used to represent and evaluate the player s views. However, these models must be modified to handle uncertainty in the process. Ease of Process Documentation: The COTS selection process is automatically documented because each agent documents its set of goals, plans, and beliefs. In addition, all the agents also document their interactions with other agents, and the outcomes of those interactions. Knowledge Collection and Reuse: It is easy to collect and reuse knowledge since every agent is an expert in its role, and project specific information can be separated from the non-project specific information. Conflict Detection and Resolution: In case conflicts occur, it easy to determine their source and impact, which is the first step in negotiation and conflict resolution. 3

Communication: An agent-based model supports electronic communication between software agents, human agents, and between human and software agents. Scalability and Integration: An agent-based system is scalable, and can easily be integrated into existing organization information system. This is done by adding interfacing agents. Human-Software Agent Interaction: There is a high interaction level between the human and software agent because the software agent works specifically for its client. 3. Description of the Agent-based COTS Evaluation System The COTS evaluation process involves many roles. Each of the roles may be played by more than one person, each with his/her own set of goals, plans and beliefs. Secondly, it may not be easy for the players to hold meetings due to the distance between them and/or schedule. Therefore the success of the COTS selection process depends heavily on the communication system used. The agent-based model maintains agents that represent the interests of each of the players in the evaluation process. Each player submits his/her goals plan and beliefs to the agent representing him/her, then that agent collects relevant information from agents of other players, use this information in the plans of its client, and submit to him/her the consequences of the set of goal, plans and beliefs the player holds. The system maintains interaction between the human and software agents at all times, and it also allows communication between human agents (the players). This COTS evaluation method uses the hybrid consensual opinion aggregation and opinion aggregation models. Opinion aggregation models are used first to determine a solution for the evaluation problem. If the members opinion differences cause wide variations in the solution, then members concern are require to resolve their conflicts. Remember that at this moment the causes, extent, and impact of the conflicts are already known. 3.1 Role Identification The following roles have been identified in the COTS evaluation process. Role of stakeholders Role of COTS expert Role of project design team Role of moderator and coordinator (Administrator) Role of economic and COTS purchase expert Role of clerical assistant; for information storage and retrieve (filling) Role of process scheduling The roles feed into the COTS evaluation process information on different issues in the process, and each of them has an agent that represents it. Therefore, the proposed COTS 4

evaluation model is a multi-agent system in which agents cooperate in order to offer their best decision support to the project team during COTS selection. 3.2 Evaluation and Decision Technique At agent level we have a single player, or group of players with similar concerns. Therefore, at this level we can effectively use aggregation models. The Administrator Agent aggregates information from user agents to provide support to the COTS selection process. Figure 1 shows the summery of the evaluation model. It can be noted that this figure is actually a Bayesian Network. The network has two types of beliefs, namely; soft and hard beliefs. The soft beliefs are those that change as new evidence is obtained, while the hard beliefs do not change. Therefore, Bayesian network techniques can be employed to handle knowledge collection and update in this COTS evaluation method. There are more than one COTS and Economic experts in this model. Therefore, at some moment their opinions about each COTS have to be aggregated in order to rank them. Secondly, the experts opinions have to be weighed against the aggregated requirements of the design team and the stakeholders in order to rank the COTS according to their suitability for the project. The evaluation process is made up of five main components, namely; COTS Technical evaluation, COTS Economic Evaluation, Project Conditions Definition, COTS Ranking, and COTS Interaction Analysis. 3.2.1 COTS Technical Evaluation The technical COTS evaluation deals with functional and quality aspects of the COTS evaluation, see Figure 1. The steps taken in this part of the evaluation process are briefly described below. Step T1: The COTS expert evaluates the functionalities and quality of each COTS in a set from which one COTS is to be selected for a particular purpose. That is, quantitative scores are assigned to the functional and quality attributes of the COTS. The expert also assigns a belief to the scores of the COTS attributes depending on the credibility of his/her source of information about the COTS. It should be noted that at this moment each COTS attribute has as many scores and beliefs as there experts. Step T2: The COTS experts are ranked and beliefs are assigned to their ranking. For each expert, the ranking of the expert is combined with the scores of the attributes. Secondly, the beliefs about the COTS attributes are combined into a single belief about the functional capability and quality of the COTS. This belief is then combined with the belief about the expert to obtain the project belief on the attributes scores as awarded by the expert. Step T3: The attribute score are combined into a single score. Secondly, the project belief on the attributes scores as awarded by different experts, are combined into a single project belief on the combined scores. 5

3.2.2 COTS Economic Evaluation The economic COTS evaluation deals with the economic and legal aspects of the evaluation process. The COTS attributes of concern here take on issues such as license acquisition cost, support and adaptation expenses, maintenance prices, COTS procurement conditions, vendor guaranties, availability of training, availability of vendors, vendor reputation and maturity, and clauses characteristics of the maintenance licenses. Step E1: The COTS economic expert awards scores to the economic and legal attributes of the COTS candidates according to their strength. The expert also assigns a belief to the scores of the COTS attributes depending on the credibility of his/her source of information about the COTS, see Figure 1. Step E2: During this step, the ranking of the expert is combined with the scores awarded to the COTS attributes. Secondly, the beliefs about the COTS attributes are combined into a single belief about the economic and legal characteristics of the COTS. This belief is then combined with the belief about the expert ability, to obtain the project belief on the attributes scores as awarded by the expert. Step E3: The economic and legal attribute scores awarded by different experts are combined into a single score. Secondly, the project belief on the attributes scores as awarded by different experts, are combined into a single project belief on the combined scores. 3.2.3 Project Conditions Definition The project conditions definition involves setting up of the criteria for the evaluation of the COTS with respect to the conditions of the project. This process can be referred to as the COTS Evaluation Criteria Definition. It addresses functional, quality, architectural and economic characteristics of the candidates. Weights are established for all of the evaluation criteria with respect to each importance. This task is carried out by the design team, with collaboration with the stakeholders. 3.2.4 COTS Ranking The weights of the evaluation criteria are applied on the scores of the corresponding attributes in step T3 and E3. These score are then aggregated according to organization policy to obtain the ranking of the COTS with respect to the conditions of the project. Here, the COTS are ranked according to hoe best they suite each stakeholders needs. In case conflicts occur in the ranking, the tool carries out negotiations between the stakeholders agents in order to resolve the conflict. 6

Attribute 1 of COTS Candidate 1 Attribute 2 of COTS candidate 1 Attribute 3 of COTS condidate 1 Economic Attribute 1 of COTS 1 Economic Attribute 2 of COTS 1 Economic Attribute n of COTS 1 belief of COTS Expert due to credibility of source of information about each of the COTS Attributes Belief of COTS Expert due to credibility of Source of information about each COTS Economic Attributes Requirements for Stakeholder 1 Requirements for stakeholder..n Score of COTS Candidate 1 by COTS Expert 1 Rating of COTS expert 1 Rating of Economic Expert 1 Score of COTS 1 by Economic Expert 1 Expert belief about score of COTS 1 Belief about rating of expert Stakeholders' Ratings Beliefs about Expert Rankings Expert Belief on Score of COTS 1 Score of COTS 1 given credibility of info. source & COTS expert ability Design Team Requirements Aggregated Stakeholders Requirements Score of COTS 1 given credibility of Info. Source and ability of Expert 1 Organization belief about score of COTS 1 by Expert 1 Information from other COTS experts Project Conditions Information from other Economic Experts Organization beliefs about opinion of Economic Expert 1 on COTS 1 Aggregated Score of COTS 1 Organization Policy Aggregated Economic Expert Opinion on COTS 1 Belief of Score Project Technical Conditions for Selection of COTS Project Economic Condtionions Score belief Score of COTS1 wrt Technical project conditions Score of COTS1 wrt Economic Conditions of the Project Score belief given Project Conditions Score belief given Project Conditions Score of COTS 1 wrt Project Technical & Economic Conditions Figure 1. Summary of the Proposed COTS Evaluation Model 3.2.5 COTS Interaction Analysis At this stage, all the candidates COTS for the different parts of the COTS system have been ranked. Different combinations of COTS that make up the system are evaluated with respect to the COTS interoperability, and interfacing effort and cost. Tools are available in literature that can carry out this task. 7

3.3 Agents in COTS Evaluation Model From the roles and the components of the COTS evaluation process, we identify the agents involved in the COTS evaluation process. It is good practice to keep a one-to-one correspondence between roles and agents whenever possible [14]. However, here, we keep a one-to-one correspondence between the components of the COTS evaluation process and agents because each component represents a group of players with similar roles. Therefore, as shown in Figure 2, we have COTS Technical evaluation agent, COTS Economic Evaluation agent, Project Conditions Definition agent, COTS Ranking agent (Administrator agent), and COTS Interaction Analysis agent. It can be noted that information flow between the administrator agent and the user agents is bidirectional. This is due to the fact that decisions made by the each of user agents are affected by decisions made by other agents. COTS Technical Evaluation Agent COTS Economic Evaluation Agent Project Conditions Definition Agent Evaluation of COTS Candidates for a givenpart of System COTS Ranking (Administrator) Agent Evaluation of COTS for up to the n th Part of System COTS Interaction Analysis Agent COTS Selection Figure 2. COTS Evaluation System Agents 4. Conclusions Selecting the right COTS is critical for the success of a COTS-based software development project, and depends heavily on the COTS evaluation method used. COTS Evaluation and Selection process is characterized by subjective data. The technical experts, economic experts, stakeholders, and the design team have subjective opinions on the requirements, performance and capabilities of the COTS. These opinions of individual members of the evaluation process must be aggregated into a single composite value. The consensual opinion aggregation approach used by most methods in literature is inappropriate for COTS evaluation because the process involves many players, and different groups of players are 8

concern with different issues in the process. The best way of aggregate opinions in COTS evaluation process is to use the hybrid consensual and aggregation models approach. Here we showed how this can be achieved using an agent-base method. References [1] Alves, C., Castro, J. CRE: A Systematic Method for Components Selection, available at http://www.cs.ucl.ac.uk/staff/c.alves. [2] Alves, C., Filho, J. B. P., Castro, J., Analyzing the Tradeoffs among Requirements, Architectures and COTS Components, available at http://www.cs.ucl.ac.uk/staff/c.alves/wer01_cots.pdf [3] Anderson, J. C., A Measurement to Assess Measure-Specific Factors in Multi Informant Research, Journal of Marketing Research, Vol. XXII, pp. 86-92, Feb 1985. [4] Carney, D., Assembling Large Systems from COTS Components: Opportunities, Cautions, and Complexity. SEI Monographs on use of Commercial Software in Government Systems, Software Institute, Pittsburgh, USA, June 1997. [5] Cavanaugh, B. P., Polen, S. M., Add Decision Analysis to Your COTS Selection Process, The Journal of Defense Software Engineering, April 2002. [6] Chung, L., Cooper, K., A knowledge-based COTS-aware requirements engineering approach. SEKE 2002, pp. 175-182, 2002. [7] Introduction to COTS, available at http://www.cebase.org/www/researchactivities/cots/introduction.html [8] Kontio, J., Chen S. F., Limperos, K., A COTS Selection Method and Experiences of its Use, 20 th Annual Software Engineering Workshop, NASA Goddard Space Flight Center, Greenbelt, Maryland, Nov. 1995. [9] Rantilla A. K., Budescu, D. V., Aggregation of Expert Opinions, Proceedings of the 32 nd International Conference on System Sciences, Hawaii, 1999. [10] Morisio, M.,Seaman, C. B., Basili, V. R., Parra, A. T., Kraft, S. E., Condon, S. E., COTS-Based Software Development: Processes and Open Issues, Journal of Systems and Software, Vol. 61 No. 3:189-199, April 2002. [11] Morisio, M., Sunderhaft, N., Commercial-Off-The-Shelf (COTS): A Survey, Air Force Research Laboratory-Information Directorate, Rome, New York, Dec. 2000. [12] Oberndorf, T., COTS and Open Systems An Overview, 1997, available at http://www.sei.cmu.edu/str/descriptions/cots.html#ndi [13] Schwab, D. P., Herbert, G. H., Assessment of a Consensus-Based Multiple Information Source Job Evaluation System, Journal of Applied Psychology, Vol. 71, No. 2, pp.354-356, 1986. [14] Wooldridge, M., Jennings, N. R., Kinny, D., The Gaia Methodology for Agent-Oriented Analysis and Design Journal of Autonomous Agents and Multi-Agent Systems, Vol. 3, No. 3, pp. 285-312, 2000. 9