计算机科学与探索 ›› 2012, Vol. 6 ›› Issue (5): 409-418.DOI: 10.3778/j.issn.1673-9418.2012.05.003

• 学术研究 • 上一篇    下一篇

自适应软件系统构造——自动避障三轮小车的案例研究

葛海龙1,2,马晓星1,2+,许  畅   

  1. 1. 南京大学 软件新技术国家重点实验室,南京 210046
    2. 南京大学 计算机科学与技术系,南京 210046
  • 出版日期:2012-05-01 发布日期:2012-05-09

Constructing Self-Adaptive Software Systems: a Case Study with an Obstacle-
Avoiding Mini-Car

GE Hailong1,2, MA Xiaoxing1,2+, XU Chang1,2   

  1. 1. State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210046, China
    2. Department of Computer Science and Technology, Nanjing University, Nanjing 210046, China
  • Online:2012-05-01 Published:2012-05-09

摘要: 自适应软件需要能够根据环境的变化在运行时动态调整自己的行为以实现既定任务。为了解决这一类软件在开发过程中的一些挑战问题,如自适应逻辑修改困难、代码紧耦合等,设计并实现了一种基于规则的自适应软件系统应用框架(rule-based application framework for self-adaptive software systems,RAF)。RAF通过面向组件的方式解决了紧耦合问题,使用规则文件管理自适应逻辑,并将其与软件的其他部分分割开来。使用RAF开发软件可以灵活地制定与修改自适应逻辑,方便软件的开发、调试、升级等。通过一个案例展示了RAF在解决上述问题方面的能力。

关键词: 规则, 自适应软件, 框架

Abstract: Self-adaptive applications need to be able to adjust their behavior smartly according to environmental changes. Developers may encounter design challenges when developing self-adaptive embedded applications, e.g., self-adaptive logics are difficult to design for changing requirements, source codes are typically tightly coupled, etc. To address such challenges, this paper proposes a rule-based application framework for self-adaptive software systems, named as RAF. RAF addresses the tight-coupling problem by a component-oriented approach, and separates an application’s self-adaptive logic from its other parts based on formulated rules and states. Using RAF to develop software can flexibly design and modify self-adaptive logic. It is convenient for software in development, debugging, upgrade, etc. A case study is used to illustrate how these design challenges are addressed by using RAF.

Key words: rule, self-adaptive software, framework