Telecommunication Systems

, Volume 52, Issue 4, pp 2335–2346 | Cite as

An agent-based self-adaptation architecture for implementing smart devices in Smart Space

  • Ingeol Chun
  • Jeongmin Park
  • Haeyoung Lee
  • Wontae Kim
  • Seungmin Park
  • Eunseok Lee


Smart Space is a major currently challenging domain that includes ubiquitous, grid, and pervasive computing to provide intelligence, insight, and vision for emerging world of intelligent environment, products, services and human interaction. Smart Space consists of various objects (devices and applications) and, their extremely tight integration of and coordination between information world and physical resources. In Smart Space, people are allowed to acquire useful information and control devices anytime and anywhere with various smart devices. However the physical world where devices are deployed has much uncertainty and uncontrollable conditions, so that it is impossible to make devices suited to all situations. To achieve user satisfaction and overcome the system failure, devices in Smart Space must be dependable, secure, safe, and efficient, and operate in real-time. In addition, they must be scalable, cost-effective and adaptive. Especially, to deal with uncertainty and uncontrollable condition, devices in Smart Space could be more intelligent in the adaptation.

In this paper, we propose an agent-based self-adaptation architecture for implementing smart devices in Smart Space. A self-adaptive smart device reasons about its state and environment, and adapts itself at runtime automatically and dynamically in response to changes. Also we present an adaptation mechanism used to implementing a self-adaptive system.


Smart Space Smart Device Self-adaptive robot Autonomic computing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chetan, S., Ranfanthan, A., & Campbell, R. (2005). Towards fault tolerant pervasive computing. IEEE Technology and Society, 24(1), 38–44. CrossRefGoogle Scholar
  2. 2.
    Northrop, L., Feiler, P., Gabriel, R. P., Goodenough, J., Linger, R., Longstaff, T., et al. (2006). Ultra-large-scale systems: the software challenge of the future. Pittsburgh: Software Engineering Institute, Carnegie Mellon University. Google Scholar
  3. 3.
    Cheng, B. H., Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Serugendo, G. D. M., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H. M., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Muller, H. A., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., & Whittle, J. (2009). Software engineering for self-adaptive systems: a research roadmap, software engineering for self-adaptive systems. In Lecture notes in computer science: Vol. 5525. (pp. 1–26). Berlin: Springer. Google Scholar
  4. 4.
    Laddaga, R. (1997). Self-adaptive software. Tech Rep. 98-12. DARPA BBA. Google Scholar
  5. 5.
    Salehie, M., & Tahvildari, L. (2009). Self-adaptive software: landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems, 4(2), 14. CrossRefGoogle Scholar
  6. 6.
    Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B., & Steenkiste, P. (2004). Rainbow: architecture-based self-adaptation with reusable infrastructure. IEEE Computer, 37(10), 46–54. CrossRefGoogle Scholar
  7. 7.
    Tuttle, S., Batchellor, V., Hansen, M. B., & Sethuraman, M. (2003). Centralized risk management using Tivoli risk manager (4.2 Tech. rep.). IBM Tivoli Software. Google Scholar
  8. 8.
    Candea, G., Kiciman, E., Kawamoto, S., & Fox, A. (2006). Autonomous recovery in componentized Internet applications. Cluster Computing, 9(1), 175–190. CrossRefGoogle Scholar
  9. 9.
    Mukhija, A., & Glinz, M. (2005). Runtime adaptation of applications through dynamic recomposition of components. In Proceedings of the international conference on architecture of computing systems (pp. 124–138). Google Scholar
  10. 10.
    White, J., Schmidt, D. C., & Gokhale, A. S. (2005). Simplifying autonomic enterprise java bean applications via model-driven development: a case study. In Proceedings of the international conference on model driven engineering languages and systems (pp. 601–615). doi: 10.1007/11557432_45 CrossRefGoogle Scholar
  11. 11.
    Lapouchnian, A., Liaskos, S., Mylopoulos, J., & Yu, Y. (2005). Towards requirements-driven autonomic systems design. In Proceedings of the workshop on design and evolution of autonomic app. software (pp. 1–7). doi: 10.1145/1082983.1083075 Google Scholar
  12. 12.
    Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., & Gjørven, E. (2006). Using architecture models for runtime adaptability. IEEE Software, 23(2), 62–70. CrossRefGoogle Scholar
  13. 13.
    Kumar, V., Cooper, B., Cai, Z., Eisenhauer, G., & Schwan, K. (2007). Middleware for enterprise scale data stream management using utility-driven self-adaptive information flows. Cluster Computing, 10(4), 443–455. CrossRefGoogle Scholar
  14. 14.
    Oreizy, P., Gorlick, M. M., Taylor, R. N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D. S., & Wolf, A. L. (1999). An architecture-based approach to self-adaptive software. IEEE Intelligent Systems, 14(3), 54–62. CrossRefGoogle Scholar
  15. 15.
    Kephart, J. O., & Chess, D. M. (2003). The vision of autonomic computing. IEEE Computer, 36(1), 41–50. CrossRefGoogle Scholar
  16. 16.
    Robertson, P., & Laddaga, R. (2005). Model based diagnosis and contexts in self adaptive software. In Proceedings of the conference on self-* properties in complex information systems (pp. 112–127). doi: 10.1007/11428589_8 CrossRefGoogle Scholar
  17. 17.
    De Lemos, R., & Fiadeiro, J. L. (2002). An architectural support for self-adaptive software for treating faults. In Proceedings of the workshop on self-healing systems (pp. 39–42). doi: 10.1145/582128.582136 CrossRefGoogle Scholar
  18. 18.
    Sterritt, R., Parashar, M., Tianfield, H., & Unland, R. (2005). A concise introduction to autonomic computing. Advanced Engineering Informatics, 19, 181–187. CrossRefGoogle Scholar
  19. 19.
    Burns, R. (2001). Advanced control engineering. Stoneham: Butterworth-Heinemann. Google Scholar
  20. 20.
    Astrom, K., & Wittenmark, B. (1995). Adaptive control (2nd edn.). Reading: Addison-Wesley. Google Scholar
  21. 21.
    Söderström, T., & Stoica, P. (1988). System identification. Englewood Cliffs: Prentice-Hall. Google Scholar
  22. 22.
    Astrom, K., & Wittenmark, B. (1995). Adaptive control (2nd edn.). Reading: Addison-Wesley. Google Scholar
  23. 23.
    Delgado, N., Gates, A. Q., & Roach, S. (2004). A taxonomy and catalog of runtime software-fault monitoring tools. IEEE Transactions on Software Engineering, 30(12), 859–870. CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Ingeol Chun
    • 1
  • Jeongmin Park
    • 2
  • Haeyoung Lee
    • 3
  • Wontae Kim
    • 3
  • Seungmin Park
    • 3
  • Eunseok Lee
    • 1
  1. 1.School of Information & Communication EngineeringSungKyunKwan UniversityJangan-gu, SuwonKorea
  2. 2.Department of Software EngineeringDongyang Mirae UniversitySeoulKorea
  3. 3.Embedded SW Research DepartmentElectronics and Telecommunications Research Institute (ETRI)Yuseong-gu, DeajonKorea

Personalised recommendations