Positive and negative factors in agent oriented software development:a case study
Abstract
This thesis attempts to pinpoint the main differences in agent oriented software engineering as opposed to more legacy approaches. The agent paradigm, still in its infancy, is believed to offer exciting new prospects to the process of modern complex information systems development, but although many tools, frameworks and applications are readily available, there is as of yet no specific research on how these technologies affects and differ the development process.
The research approach in finding these factors was two-folded. By conducting a comprehensive literature study, a set of implications was derived to represent suggested factors from earlier research. These terms could be related to well-established agent system characteristics and behaviours, and based on these results a framework model was devised to present a hypothesis of all terms and relationships discovered.
In parallel with this work, a prototype of an agent based patient scheduling system was developed using agent oriented methods and tools. Besides contributing to the validation of the agent approach in general, experiences from this work were used to evaluate the findings in the hypotheses model, and a final factor and relationship model was developed through comparison and discussion of both prior research and my own experiences.
The results clarify both positive and negative aspects of the agent oriented approach. I identified in particular three aspects of this paradigm that separates it from more traditional approaches: - The high level of abstraction that an agent represents helps in defining components of complex systems during analysis and design, but poses problems in its lack of detail during implementation. – Being autonomous entities, agent oriented development provides a highly modular development approach, helping to separate complex structures in an advantageous divide- and-conquer style, but consequently increase complexity in cooperation among these autonomous components. – Agents`close relationship to their environment or domain provides great awareness and situatedness opportunities in highly modular systems, but this relationship comes with the price of increasingly complex interaction procedures.
Although these results hopefully can be regarded as a valuable contribution to the agent systems engineering research fields, they are by no means exhaustive. Much work remains in clarifying the role or agent oriented approaches in the software development evolution, before the agent paradigm can be established as a validated commercial and industrial option.
Publisher
Høgskolen i AgderAgder University College