Managing the dynamism of the OSGi Service Platform in real-time Java applications

Real-time features and software runtime adaptation are two requirements of modern software. On the one hand, the most important characteristics in real-time applications are their predictable behavior and deterministic execution time. On the other hand, runtime adaptive software are capable of being updated and reconfigured at execution time, making them more flexible and available. The OSGi Service Platform has become the de facto platform for developing flexible and modular software, due to its simple service-oriented component model. Many Java applications are being migrated to and developed for the OSGi Platform's component model. However, due to the popularization of real-time solutions such as the Real-Time Specification for Java, some of these applications may have timing constraints which cannot be respected because of the platform's dynamic behavior and the fact that service-oriented component-based application architectures may change at execution time. This paper proposes to delay reconfigurations for after critical processing, according to Service Level Agreements established between service providers and consumers. Our approach has been implemented as an extension to the iPOJO component model which freezes application's architecture and avoids introducing unpredictability caused by runtime adaptation during real-time applications' execution.

[1]  Alfons Crespo,et al.  Mode Change Protocols for Real-Time Systems: A Survey and a New Proposal , 2004, Real-Time Systems.

[2]  Michael Koch,et al.  Ubiquitous Computing , 2001, CSCW-Kompendium.

[3]  Thomas Ledoux,et al.  FPath and FScript: Language support for navigation and reliable reconfiguration of Fractal architectures , 2009, Ann. des Télécommunications.

[4]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[5]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[6]  Peyman Oreizy,et al.  Runtime software adaptation: framework, approaches, and styles , 2008, ICSE Companion '08.

[7]  Andy J. Wellings,et al.  An Admission Control Protocol for Real-Time OSGi , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[8]  Mike P. Papazoglou,et al.  Introduction: Service-oriented computing , 2003, CACM.

[9]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[10]  Richard S. Hall,et al.  OSGI in Action, Creating Modular Applications in Java , 2011 .

[11]  Richard S. Hall,et al.  iPOJO: an Extensible Service-Oriented Component Framework , 2007, IEEE International Conference on Services Computing (SCC 2007).

[12]  M. Weiser,et al.  Hot topics-ubiquitous computing , 1993 .

[13]  Andy J. Wellings,et al.  Providing temporal isolation in the OSGi framework , 2009, JTRES '09.

[14]  Angelo Corsaro CARDAMOM: a next generation mission and safety critical enterprise middleware , 2005, Third IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems (SEUS'05).

[15]  Jan Vitek,et al.  A family of real‐time Java benchmarks , 2011, Concurr. Comput. Pract. Exp..

[16]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[17]  Hong Sun,et al.  A framework for adaptive real-time applications: the declarative real-time OSGi component model , 2008, ARM '08.

[18]  Lionel Touseau,et al.  Towards a SLA-based Approach to Handle Service Disruptions , 2008, 2008 IEEE International Conference on Services Computing.

[19]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[20]  Edsger W. Dijkstra,et al.  The structure of the “THE”-multiprogramming system , 1968, CACM.

[21]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[22]  D. Verma,et al.  Supporting Service Level Agreements on IP Networks , 1999 .

[23]  Gerhard Fohler,et al.  Efficient scheduling of sporadic, aperiodic, and periodic tasks with complex constraints , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[24]  Didier Donsez,et al.  A Dynamic Service-Oriented Implementation for Java EE Servers , 2006, 2006 IEEE International Conference on Services Computing (SCC'06).

[25]  Faris Nizamic,et al.  Service-Oriented Computing , 2010, Lecture Notes in Computer Science.

[26]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[27]  Christopher D. Gill,et al.  Improving real-time system configuration via a QoS-aware CORBA component model , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[28]  Richard S. Hall,et al.  Autonomous adaptation to dynamic availability using a service-oriented component model , 2004, Proceedings. 26th International Conference on Software Engineering.

[29]  Joseph P. Loyall,et al.  Component-Based Dynamic QoS Adaptations in Distributed Real-Time and Embedded Systems , 2004, CoopIS/DOA/ODBASE.