A Reflective Approach to Design Component-Based Distributed Real-Time Applications

Component-based software engineering (CBSE) has been proven effective in the development and management of distributed software systems, and component model is the foundation of this approach. Currently, some challenges appear when building time-critical applications for the distributed systems based on current component models. The issues remain that component models themselves haven’t undertaken the two key characteristics of distributed real-time systems: timing properties and dynamic properties. As a result, component-based distributed systems with timing constraints need to handle the non-functional requirements additionally and cannot benefit from the CBSE any further. To solve the issues and facilitate the development of distributed real-time applications in client-server computing pattern, a reflective approach to design component-based distributed real-time applications is presented in this paper. The reflective design specifies the component’s business logic and its timing-constraint characteristics, opens the component’s inner realization and carries out separation of concerns between functionality and non-functionality during design and run time. To validate this design approach, an examples is performed. Experimental results show that an application’s timing properties have been met by the components themselves by adopting this design approach.

[1]  Gordon S. Blair,et al.  Research directions in reflective middleware: the Lancaster experience , 2004, Adaptive and Reflective Middleware.

[2]  Jukka Mäki-Turja,et al.  Experiences from introducing state-of-the-art real-time techniques in the automotive industry , 2001, Proceedings. Eighth Annual IEEE International Conference and Workshop On the Engineering of Computer-Based Systems-ECBS 2001.

[3]  Brian Cantwell Smith,et al.  Reflection and semantics in LISP , 1984, POPL.

[4]  Yansheng Lu,et al.  Scheduling algorithms based on weakly hard real-time constraints , 2008, Journal of Computer Science and Technology.

[5]  Oscar Nierstrasz,et al.  A Component Model for Field Devices , 2002, Component Deployment.

[6]  Dang Van Hung,et al.  Timing and Concurrency Specification in Component-based Real-Time Embedded Systems Development , 2007, First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering (TASE '07).

[7]  Frank Lüders Adopting a Software Component Model in Real-Time Systems Development , 2003, SEW.

[8]  Manuel Díaz,et al.  Integrating real-time analysis in a component model for embedded systems , 2004 .

[9]  David H. Lorenz,et al.  Pluggable reflection: decoupling meta-interface and implementation , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[10]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[11]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[12]  Antonio Vallecillo,et al.  A Reflective Component Model for Open Systems , 1998, ECOOP Workshops.

[13]  Kurt C. Wallnau,et al.  Volume III: A Technology for Predictable Assembly from Certifiable Components , 2003 .

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