SOFTWARE PROJECT MANAGEMENT 

Get Complete Project Material File(s) Now! »

Self-*Systems and Autonomic Computing

Luck et al. (2005) identify self-*systems (pronounced “self-star”) as a computational goal since the work of Charles Babbage. Although a general definition of these systems is still emerging, it includes properties such as self-awareness, selforganisation, self-configuration, self-management, self-diagnosis, self-correction and self-repair. Computational self-*systems provide an application domain for research and development of agent technologies, as many self*-systems may be viewed as involving interactions between autonomous entities and components.
Autonomic computing, first proposed by IBM (Kephart and Chess, 2003), is an approach to self-managed computing systems, with a minimum of human interference. Kotz and Gray (1999) add trends affecting Internet technology and activity, such as bandwidth, mobile devices, mobile users, intranets and aspects such as information overload, customisation and proxies.

WHAT IS A SOFTWARE AGENT?

A number of different descriptions and definitions of agents can be found in literature. Franklin and Graesser (1996) describe an autonomous agent as “a system situated within a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future”. They divide agents into taxonomies of biological, robotical and computational agents, and further subdivide computational agents into artificial life agents and software agents. The focus of this thesis is primarily on software agents.
The usefulness and viability of software agents have been debated since the midnineties. Various definitions for software agents exist but unfortunately those that are formulated are vague. In general, end-users see software agents as programs that assist people and act on their behalf by allowing people to designate work to them (Lange and Oshima, 1998; Grimley and Monroe, 1999). Jennings and Wooldridge (1998) define a software agent as an autonomous system, capable of flexible autonomous action in order to meet its design objectives. Another definition of a software agent states that it is a computer program that is capable of autonomous (or at least semi-autonomous) actions in pursuit of a specific goal (Franklin and Graesser, 1996). In the AgentLink publication, 2005, software agents are viewed as a computer system that is capable of flexible autonomous action in dynamic, unpredictable, typically multi-agent domains. The autonomy characteristic of a software agent distinguishes it from general software programs. Autonomy in agents implies that the software agent has the ability to perform its tasks without direct control, or at least with minimum supervision, in which case it will be a semiautonomous software agent (Wooldridge, 2002).
The software agent is able to perceive the environment and act on it over a period of time. This corresponds to a widely accepted notion of agency which regards an agent as an autonomous software system acting in a continuous Perceive-Reason- Act cycle (as illustrated in Figure 4.1) in order to achieve a goal (Lind, 2001; Luck et al., 2005; Schoeman, 2005). The software agent perceives the environment by receiving and processing certain stimuli. It reasons by combining newly acquired information with its own existing knowledge and goals. It acts by selecting and executing one of the possible actions.

READ  MOLECULAR BIOLOGY OF THE FAMILY REOVIRIDAE

Classes of software agents

Software agents can be grouped according to specific characteristics and into different software agent classes. Literature does not agree on the different types or classes of software agents. For example, Krupansky (2003) distinguishes between ten different types of software agents, while the Oghma Open Source (2003) web site identifies sixteen different types of software agents. Because software agents are commonly classified according to a set of characteristics, different classes of software agents often overlap, implying that a software agent might belong to more than one class at a time. For the purpose of this thesis, we distinguish between two simple classes of software agents, namely stationary agents and mobile agents.

CHAPTER 1 INTRODUCTION
1.1 INTRODUCTION.
1.2 UNIQUE NATURE OF SOFTWARE PROJECT MANAGEMENT
1.3 MOTIVATION FOR THIS STUDY
1.4 PROBLEMS TO ADDRESSED
1.5 PUBLICATIONS RESULTING FROM THE STUDY
1.6 KEY TERMINOLOGY..
1.7 OUTLINE OF THE STUDY
CHAPTER 2  RESEARCH METHODOLOGY INTRODUCTION..
2.2 RESEARCH METHODOLOGY
2.3 SCOPE OF THE STUDY
2.4 CONCLUSION
CHAPTER 3  SOFTWARE PROJECT MANAGEMENT 
3.1 INTRODUCTION
3.2 UNIQUE CHARACTERISTICS OF SPM.
3.3 CHANGING ENVIRONMENT OF SPM
3.4 PROBLEMS WITH SOFTWARE PROJECTS
3.5 SOFTWARE PROJECT MANAGEMENT FRAMEWORK
3.6 CORE FUNCTIONS.
3.7 FACILITATING FUNCTIONS
3.8 CONCLUSION
CHAPTER 4   SOFTWARE AGENT COMPUTING.
4.1 INTRODUCTION
4.2 AGENT TECHNOLOGY.
4.3 WHAT IS A SOFTWARE AGENT?
4.4 MOBILE SOFTWARE AGENTS
4.5 CONCLUSION
CHAPTER 5   SOFTWARE AGENTS IN SPM.
CHAPTER 6  MODEL – SCOPE AND CONCEPT .
CHAPTER 7  THE SPMSA MODEL 
CHAPTER 8  PROTOTYPE IMPLEMENTATION
CHAPTER 9   MODEL VERIFICATION 
CHAPTER 10 CONCLUSION
11 REFERENCES .

GET THE COMPLETE PROJECT
A MODEL FOR ENHANCING SOFTWARE PROJECT MANAGEMENT USING SOFTWARE AGENT TECHNOLOGY

Related Posts