Font Size: a A A

An Agent-based Approach For Software Process Modeling

Posted on:2006-06-14Degree:DoctorType:Dissertation
Country:ChinaCandidate:X P ZhaoFull Text:PDF
GTID:1118360152987498Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
The term Software Process Modeling is used to describe the production of the software process models and the use of these models in performing software process management and software process improvement. It provides tools for software organizations to design, specify, enact, analyze and evolve their processes, and supports software organizations to perform process-centered software development management. Using the software process modeling techniques, software organizations can achieve better product quality as well as better efficiency and effectiveness.Software process is highly people-dependent, i.e., relies on the ability of a group of developers and their creative work. Traditional software process modeling approach typically models process participants as the performers of the process, who execute the process activities in a passive and predefined manner. Such approaches cannot adapt to the dynamism, nondeterminacy, autonomy and active cooperation properties of the software process. In our belief, humans are not only the performers of the software process, but also an essential factor that determines the ability of the software process. Rather than trying to force software processes into rigid frameworks, it will be more beneficial to study the underlying factors inherent in the ways software developers go about planning, enacting and reflecting on their work, and then to use that knowledge to design a software process model that supports how work is actually performed. Towards this goal, this thesis proposes an agent-based approach for software process modeling. In this approach, the developers in the software process (e.g. software engineers, teams, and software organizations) are modeled as process agents, which possess knowledge of managing the behavior of the software process and are capable of acting with initiative and autonomy. Based on its perceptions and process knowledge, the process agent can use its reasoning ability to decide the activity to be performed towards given goals, make plans, and negotiate with each other to set up cooperative relations. When deviation occurs, the process agent can autonomously make changes to its plan and cooperative relations.The organization of this thesis follows a theory-to-implementation structure. First, this thesis proposes a formal model, which describes the general architecture of an agent-based software process, as well as how the software process agent performs goal-directed autonomous behavior based on its believes, desires, intentions and how-to-do, and how the process agents set up cooperative relations through negotiation. This formal model provides the theoretical foundation of further research proposed in this thesis. Based on the formal model, this thesis proposes a softwareprocess modeling language (Intelligent Software Process Modeling Language, ISPML) and a prototype process-centered software engineering environment (Intelligent Software Process Management System, ISPMS) in order to provide tools for the software organizations to build up their agent-based software process models and to enact these models in real software project.The ISPML is an XML-based description language. Using the ISPML, people can model the software process as a set of agent profiles, each of which describes the process knowledge, process activities, process data, process artifacts, process participants and process applications relevant to a given process agent.Using the ISPMS, people can instantiate an agent-based software process model as a group of process agent instances. The process agent instances can autonomously generate a cooperative plan towards certain given goal, track the real performance of the process execution, and make changes to the plan and their cooperative relations when deviation occurs. With the aid of the ISPMS, the agent-based software process modeling approach proposed in this thesis can provide better support for the autonomy, dynamism and negotiation properties of the software process than the existing software process modeling approaches. Furth...
Keywords/Search Tags:Software process technology, Software process modeling, Software process modeling language, Process-centered software engineering environment, Agent, Multi-agent system, Artificial intelligence
PDF Full Text Request
Related items