Designing Dynamic Software Architecture for Home Service Robot Software

  • Dongsun Kim
  • Sooyong Park
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4096)


Behavior, situations and environmental changes in embedded software, such as robot software, are hard to expect at software design time. To deal with dynamic behavior, situations and environmental changes at runtime, current software engineering practices are not adequate due to the hardness of software modification. An approach to resolve this problem could be making software really “soft” that enables runtime software modification. We developed a practical framework called SHAGE(Self-Healing, Adaptive, and Growing SoftwarE) to implement reconfigurable software in home service robots. SHAGE enables runtime reconfiguration of software architecture when a service robot encounters unexpected situations or new user requirements. This paper focuses on designing reconfigurable software architecture, so called, dynamic software architecture. We also conducted a case study on a home service robot to show applicability of the framework. The results of the study shows practicality and usefulness.


Software Architecture Goal Position Laser Sensor Candidate Component Concrete Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kim, D., Park, S.: Alchemistj: A framework for self-adaptive software. In: Yang, L.T., Amamiya, M., Liu, Z., Guo, M., Rammig, F.J. (eds.) EUC 2005. LNCS, vol. 3824, pp. 98–109. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Oreizy, P., Taylor, R.N.: On the role of software architectures in runtime system reconfiguration. In: IEE Proceedings - Software Engineering (1998)Google Scholar
  3. 3.
    Allen, R.J., Douence, R., Garlan, D.: Specifying dynamism in software architectures. In: Proceedings of the Workshop on Foundations of Component-Based Software Engineering (1997)Google Scholar
  4. 4.
    Hillman, J., Warren, I.: Meta-adaptation in autonomic systems. In: 10th IEEE International Workshop on Future Trends of Distributed Computing Systems (2004)Google Scholar
  5. 5.
    Hillman, J., Warren, I.: An open framework for dynamic reconfiguration. In: 26th International Conference on Software Engineering (2004)Google Scholar
  6. 6.
    Ben-Shaul, I., Cohen, A., Holder, O., Lavva, B.: Hadas: A network-centric framework for interoperability programming. In: Proceedings of the Second IFCIS International Conference on Cooperative Information Systems (1997)Google Scholar
  7. 7.
    Ben-Shaul, I., Holder, O., Lavva, B.: Dynamic adaptation and deployment of distributed components in hadas. IEEE Transaction on Software Engineering 27(9), 769–787 (2001)CrossRefGoogle Scholar
  8. 8.
    Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Proceedings of the 20th international conference on Software engineering (1998)Google Scholar
  9. 9.
    Oreizy, P.: Issues in the runtime modification of software architectures. Technical report, Department of Information and Computer Science, University of California, Irvine (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Dongsun Kim
    • 1
  • Sooyong Park
    • 2
  1. 1.Department of Computer ScienceSogang UniversitySeoulRepublic of Korea
  2. 2.Department of Computer Science and Interdisciplinary Program of Integrated BiotechnologySogang UniversitySeoulRepublic of Korea

Personalised recommendations