PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Powiadomienia systemowe
  • Sesja wygasła!
Tytuł artykułu

Runtime software adaptation: approaches and a programming tool

Autorzy
Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
Software systems steadily tend to be bigger and more complex, making it more difficult to change them, especially during runtime. Several types of runtime software adaptation approaches were proposed to increase the adaptation capability of applications and turn them into an evolution software. Many of these approaches (using software architectural models for example) are implemented during the design phase of software development life cycle, making them ineffective or difficult to use in case of already existing applications. Moreover, the overhead caused by the use of these approaches has not been determined in many cases. In this paper author presents the taxonomy of high- and low-level approaches to runtime software adaptation and then introduces a lightweight prototype programming tool used to add runtime code modification capability (via function hotswapping) to existing applications written in C++ and run under Linux. The tool also enables to replace a defective function by its older or corrected version at runtime. Several tests were prepared to compare traditional C++ applications with the same applications developed with the aforementioned programming tool. Applications were compared in terms of execution time, size of executable code and memory usage. Different size and number of functions have been considered. The paper also researches the constant overhead caused by the programming tool regardless of the target application. The paper ends with the summary of presented approaches and their characteristics, including effects on the targeted systems, capabilities, ease of use, level of abstraction etc.
Rocznik
Strony
75--89
Opis fizyczny
Bibliogr. 20 poz., rys., tab.
Twórcy
autor
Bibliografia
  • [1] Q. Wang, G. Huang, J. Shen, H. Mei, F. Yang. Runtime software architecture based software online evolution. Computer Software and Applications Conference, 2003. COMPSAC 2003. Proceedings. 27th Annual International, pp. 230 – 235, nov. 2003.
  • [2] P. Oreizy, N. Medvidovic, R. N. Taylor. Architecture-based runtime software evolution. Proceedings of the 20th international conference on Software engineering, ICSE ’98, pp. 177–186, Washington, DC, USA, 1998. IEEE Computer Society.
  • [3] A. Mukhija, M. Glinz. Runtime Adaptation of Applications through Dynamic Recomposition of Components. Proc. of 18th International Conference on Architecture of Computing Systems, 2005.
  • [4] D. Garlan, B. Schmerl. Model-based adaptation for self-healing systems. Proceedings of the first workshop on Self-healing systems, WOSS ’02, pp. 27–32, New York, NY, USA, 2002. ACM.
  • [5] P. Oreizy, M. M. Gorlick, R. N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. S. Rosenblum, A. L.Wolf. An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems, 14(3):54–62, May 1999.
  • [6] G. Valetto, G. E. Kaiser, G. S. Kc. A Mobile Agent Approach to Process-Based Dynamic Adaptation of Complex Software Systems. Proceedings of the 8th European Workshop on Software Process Technology, EWSPT ’01, pp. 102–116, London, UK, UK, 2001. Springer-Verlag.
  • [7] J. Dowling, V. Cahill. The K-Component Architecture Meta-Model for Self-Adaptive Software. In Akinori Yonezawa and Satoshi Matsuoka, editors, Proceedings of 3rd International Conference on Metalevel Architectures and Separation of Crosscutting Concerns (Reflection’2001), LNCS 2192, pp. 81–88. Springer-Verlag, 2001.
  • [8] R. Taylor, N. Medvidovic, P. Oreizy. Architectural styles for runtime software adaptation. Software Architecture, 2009 European Conference on Software Architecture. WICSA/ECSA 2009. Joint Working IEEE/IFIP Conference on, pp. 171 –180, sept. 2009.
  • [9] G. Valetto, G. Kaiser. A case study in software adaptation. Proceedings of the first workshop on Self-healing systems, WOSS ’02, pp. 73–78, New York, NY, USA, 2002. ACM.
  • [10] S.-W. Cheng, D. Garlan, B. R. Schmerl, J. a. P. Sousa, B. Spitznagel, P. Steenkiste, N. Hu. Software Architecture-Based Adaptation for Pervasive Systems. Proceedings of the International Conference on Architecture of Computing Systems: Trends in Network and Pervasive Computing, ARCS ’02, pp. 67–82, London, UK, UK, 2002. Springer-Verlag.
  • [11] G. Valetto, G. Kaiser. Using process technology to control and coordinate software adaptation. Proceedings of the 25th International Conference on Software Engineering, ICSE ’03, pp. 262–272, Washington, DC, USA, 2003. IEEE Computer Society.
  • [12] S. wen Cheng, A. cheng Huang, D. Garlan, B. Schmerl, P. Steenkiste. Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer, 37:46–54, 2004.
  • [13] A. Villaz´on, W. Binder, D. Ansaloni, P. Moret. Advanced runtime adaptation for Java. Proceedings of the eighth international conference on Generative programming and component engineering, GPCE ’09, pp. 85–94, New York, NY, USA, 2009. ACM.
  • [14] C. Parra, X. Blanc, A. Cleve, L. Duchien. Unifying design and runtime software adaptation using aspect models. Sci. Comput. Program., 76(12):1247–1260, December 2011.
  • [15] M. Dmitriev. Towards flexible and safe technology for runtime evolution of java language applications. In Proceedings of the Workshop on Engineering Complex Object-Oriented Systems for Evolution, in association with OOPSLA 2001 International Conference, 2001.
  • [16] J. Zhang, B. H. C. Cheng, Z. Yang, P. K. Mckinley. Enabling safe dynamic component-based software adaptation. in Architecting Dependable Systems III, Springer Lecture Notes for Computer Science, pp. 194–211. Springer-Verlag, 2005.
  • [17] J. Zhang, B. H. C. Cheng. Model-based development of dynamically adaptive software. Proceedings of the 28th international conference on Software engineering, ICSE ’06, pp. 371–380, New York, NY, USA, 2006. ACM.
  • [18] G. Kniesel. Type-Safe Delegation for Run-Time Component Adaptation. pp. 351–366. Springer, 1999.
  • [19] D. L. Bruening. Efficient, transparent, and comprehensive runtime code manipulation. PhD thesis, Cambridge, MA, USA, 2004. AAI0807735.
  • [20] J. Rudy. ´ Srodowisko dynamicznej modyfikacji kodu dla potrzeb symulacyjnego prototypowania i programowalnych gier komputerowych. Master’s thesis, Wrocław University of Technology, Poland, 2011.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BPS3-0025-0116
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.