The Adaptive Agent Model
Total Page:16
File Type:pdf, Size:1020Kb
The Adaptive Agent Model Liang Xiao (MSc. BSc.) Doctor of Philosophy School of Electronics, Electrical Engineering and Computer Science Queen's University Belfast 2006 i Abstract Software must change if it is to remain useful. However, with maintenance accounting for up to 90% of the cost of software, change is an expensive necessity. In this thesis it is proposed that the main effort for potential maintenance in the future must as far as possible take place as early as possible in the design phase or earlier if the maintenance effort is to be minimised. Several design paradigms are evaluated for effectiveness in reducing the maintenance cost. Two in particular are considered as most promising, being software agent technology with its inherent adaptivity and annotated business models with their ease of maintenance advantage. Combining these provides an easy means to change the behaviour of software systems without the expensive need to rebuild. The output is an Adaptive Agent Model (AAM), capable of allowing dynamic adaptation of system architecture, functionality, and ontology. A collection of business knowledge models organised in a hierarchy forms the model architecture of AAM, which drives agent system behaviour. The models originate from the business requirements and are interpreted and executed by agents at runtime. The interpretation and execution of models can be supported by existing object-oriented infrastructure built for the given domain. Agents use continuously maintained models and current object components to fulfil their knowledge and facilitate their function, achieving dynamic effects and up to date behaviour. The existing system components are fully reusable and models easily re-configurable for adaptation purposes. Agents are a higher level of abstraction over objects and an execution engine of business models, bringing adaptivity into reality. Overall, AAM is built from three-layer business models that interact with a two- layer computing component model. Using this approach an adaptive and easy to maintain system architecture is achievable and deployable in a distributed environment. The configuration of the system is supported by a set of tools. Changes can be made directly by business experts via the tools, and are reflected immediately in the system behaviour. The adaptivity and maintainability of AAM is achieved at its various compositional layers and demonstrated using a railway management system. ii Acknowledgements First and foremost, I would like to thank my supervisors, Dr. Des Greer and Prof. David Bell, for their advice and guidance throughout the course of this research. Special gratitude to Des, who from the beginning strived to arrange my position at the Queen's University of Belfast, helped to arrange funding, and persistently supported and encouraged me over the past three years. His help not only made my research study at Queen’s possible but also enjoyable and interesting. Without him the accomplishment of this research was impossible. His extreme kindness and helpfulness has created a pleasant impression of the work I have done under discussion with him. I must thank my Mum and Dad for their constant support of me during my higher education towards a PhD. They have given me enormous support to allow me to have the chance to study in the UK for the last four years. I can steadfastly rely on their love and encouragement. I would also thank Dr. Dave Robertson, my former MSc supervisor at the University of Edinburgh. He was my tutor and provided invaluable advice and suggestions during my study of master degree in Edinburgh. He has inspired and directed me to an interesting research area that I could carry on afterwards and explore further now. Special thanks to I-Ching Yeh, her companionship and timely distractions permitted me to keep a balanced and clear mind. Many local friends must be acknowledged as well: Ruth, Colin, Isobel and her family, among others, who have offered Northern Ireland hospitality and some happy Christmases. They ensured that I enjoyed the past three years and have given me lots of valuable memories and experiences. Finally I would like to give thanks to the Queen's University of Belfast and the School of Computer Science for supplying a university scholarship, covering travel expenses and so on. Without their provision of financial support I would not have had the opportunity to focus my research study or attend international conferences. iii Table of Contents Abstract ............................................................................................................................................... ii Acknowledgements ......................................................................................................................... iii Table of Contents ............................................................................................................................ iv Table of Figures ............................................................................................................................. viii Chapter 1 : Introduction .................................................................................................................. 1 1.1 Introduction .....................................................................................................1 1.2 The motivation .................................................................................................7 1.3 Software adaptivity (OO vs. AO methodologies) .............................................9 1.4 Model Driven Architecture (MDA) & Model Driven Agent Architecture (MDAA) .............................................................................................................. 11 1.5 Overview of AAM, its structural components, its goals and novelty ............... 13 1.6 Thesis structure .............................................................................................. 17 Chapter 2 : Literature Review: Software Adaptivity ................................................ 19 2.1 Introduction ................................................................................................... 19 2.2 Strategy Design Pattern .................................................................................. 19 2.3 Other Patterns ................................................................................................ 20 2.4 The Adaptive Object Model (AOM) .............................................................. 22 2.5 AOM + Adaptability Aspects Pattern ............................................................. 23 2.6 Coordination Contract .................................................................................... 24 2.7 Adaptation classes ......................................................................................... 26 2.8 Conclusions ................................................................................................... 26 Chapter 3 : Literature Review: Agent and Business Model ...................................... 29 3.1 Introduction ................................................................................................... 29 3.2 Agent ............................................................................................................. 29 3.3 Agent-oriented Software Engineering (AOSE) methodologies ....................... 34 3.4 Agent-oriented modelling languages .............................................................. 37 3.5 Agent-oriented business knowledge modelling............................................... 40 3.6 Business goal ................................................................................................. 40 3.7 Business process ............................................................................................ 42 3.8 Business rule .................................................................................................. 44 3.9 Business concept ............................................................................................ 46 iv 3.10 Conclusions ................................................................................................. 47 Chapter 4 : Problem Statement ................................................................................................... 48 4.1 Need for a new MAS approach for software adaptivity .................................. 48 4.2 The approach should not abandon existing technologies................................. 48 4.3 The approach must support a complete MAS development process ................ 49 4.4 The maintenance cost of software built using the approach must be minimised ............................................................................................................................ 50 4.5 Objectives of research ....................................................................................................... 51 4.6 Conclusion ..................................................................................................... 51 Chapter 5 : Overview and Aims ................................................................................................. 52 5.1 Introduction ................................................................................................... 52 5.2 Architectural components aimed at adaptivity ................................................ 52 5.3 Knowledge models ........................................................................................ 53 5.3.1 Business process ....................................................................................