검색 상세

A Stepwise Methodology Towards the Adaptization of Legacy Systems using Agent-oriented Software Engineering

초록/요약

In this thesis, we explore how legacy software investment can be re-used as part of new self-adaptive software. In effect, in an ever-changing environment where software are pervasive and control critical systems (robots on Mars, nuclear power plants or energy systems, high-frequency trading), hardware (vehicles, machines, robots), are more and more involved in our every days lives (socio-technical systems, social networks, smart-devices), it is evident that software are becoming tremendously complex. It can be expected that with some current technological paradigms such as distributed computing, internet of things (enabling software to cooperate and exchange real-time information), semantic web and technologies (enabling software to reason over the understanding of the environment), a software system is not simply expected to react automatically to our request, but to exhibit a proactive behavior and to adapt to its environment (the context in which it operates). At the same time, many existing legacy systems are still useful and can perform the complex roles they were constructed for. In a new self-adaptive system, these legacy functions could be used to achieve a software objective under a certain context. It is certainly difficult to integrate such code, as legacy systems were designed and implemented only for a specific purpose in the past. Transforming them to allow modification and integration with other actors is thus a challenging task, but would not only save high investment but also enable future modifications or extend the potential scope of use of the existing software. We consider that an adequate technique to drive the integration of legacy systems into self-adaptive systems is to transform first relevant legacy code into a multi-agent system (MAS), from which adaptation within the system and communication with other agents is easier to attain. We refer to this process as “adaptization”. We use as an adaptation proxy conceptually intelligent agents conforming to the Belief, Desire, Intention (BDI) model, one tool of Agent- Oriented Software Engineering (AOSE). This proxy permits to understand the legacy system in terms of goals to achieve and to address adaptiveness with goal selections at run-time (based on context), thus abstracting away the current implementation to a high level goal- achievement mechanism. In this thesis, we make sure first of the adequacy of agents concepts for the design of self-adaptive system and we propose a novel stepwise methodology towards adaptization: the Knowledge-Oriented Adaptization methodology for Legacy software Artifacts (KOALA).

more

목차

Chapter 1: Introduction 1
1.1 Context 1
1.2 Research objectives and beneficiaries 2
1.3 Defining adaptization 5
1.4 To what systems is the approach applicable to? 7
1.5 Thesis structure 7
Chapter 2: Existing work 8
2.1 Modernization 8
2.2 Towards the design of Self-adaptive systems (SAS) 9
2.2.1 Self-adaptive systems 9
2.2.2 External adaptation 10
2.2.3 Internal adaptation 11
2.3 Adaptization 12
2.3.1 Not using agents 12
2.3.2 Using agents 13
2.3.3 Limitations 14
Chapter 3: Proposed framework and abstract approach 15
3.1 Purpose of the framework 15
3.2 A layered view from function to knowledge 17
3.3 Details of the three layers of the framework 17
3.4 Towards the methodology 20
Chapter 4: Technologies and abstractions choices 21
4.1 Accidental vs. Essential 21
4.2 Agents and BDI 24
4.2.1 Agent definition 24
4.2.2 Belief Desire Intention (BDI) model and platforms 25
4.3 Arguing over the use of AOSE for the design and implementation of SAS 26
4.3.1 The case of Complex Software 26
4.3.2 The case of SAS 28
4.4 Agent Oriented Software Engineering (AOSE) methodologies 30
4.4.1 Existing methodologies 30
4.4.2 Classic MAS vs. resulting target system 31
Chapter 5: a methodology towards Adaptization 33
5.1 Case-study scenario 33
5.2 Phase 1: Problem understanding and adequacy of agentification 34
5.3 Phase 2: Agentifying the system in terms of mentalistic agents 47
5.4 Phase 3: Adaptization 53
5.5 Running system overview 60
5.5.1 Platforms 61
5.5.2 Selected Experiments 61

Chapter 6: Case-study Evaluation 68
6.1 Case study design 68
6.1.1 Study questions 68
6.1.2 Case-study propositions 68
6.1.3 Units of analysis and mapping data to propositions for the methodology 69
6.1.4 Units of analysis interpretation with the case-study 72
6.2 Discussion, observations before/after the methodology 74
Chapter 7: Conclusion 76
7.1 Maintainability 76
7.2 Conclusion and future work 77
Chapter 8: References 79
Chapter 9: Appendix 86

more