Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Evolving system services to meet application requirements
Detmold H., Falkner K., Munro D., Olds T., Zakarevicius A.  System sciences (Proceedings of the 39th Annual Hawaii International Conference on System Sciences, Jan 4-7, 2006)213.32006.Type:Proceedings
Date Reviewed: May 7 2007

The management of complex systems with continually changing expressions of application needs is difficult without more dynamic execution environments. To address this challenge, this paper leverages a new process-based language framework meeting evolving system goals. The paper describes experience using ‚Äúcompliant system architecture” (CSA), in the form of an abstract machine execution environment and language called ProcessBase. This environment provides a customizable architecture that allows inter-abstraction layer access in a structured but dynamic manner. Three important system evolution characteristics are introduced, including application-specific policy replacement, application-specific integrated policies, and dynamic replacement of standard with application-specific system software abstractions. This triad of system evolution characteristics makes up the bulk of the paper. The authors present the flexibility of the abstract machine, the dynamics of execution replacement while still running, and performance results. In addition, the use of traditional brute force functional compliance approaches when trying to meet non-functional requirements, such as reducing latency to meet acceptable user response values, are challenged.

Compliance with the application needs of long-lived system software is achieved through innovative use of the ProcessBase dynamic programming framework. Strict application separation between mechanisms and policy are still observed, but the framework supplies programmable upcall and downcall facilities to invoke mechanisms in different layers. This preserves the structural integrity of systems, while introducing programmable dynamics to achieve the three evolution characteristics. The ProcessBase abstract machine is a byte-code interpreter implementing a persistent programming language. The paper describes how this is similar to a Java and .NET, but with necessary extensions to support the runtime dynamics. These dynamics are specified through dispatch tables for the upcall and downcall primitives.

The paper provides interesting and timely examples to match the three evolution characteristics. In the section on policy replacement, the authors introduce scheduling policy adaptations that help meet the accepted user interface response time, and then extend that across a number of concurrent clients. They show how these scheduling policies are dynamically modified, while their architecture isolates those changes to just the right applications. Integrated policies is the second characteristic, and the authors show how priority inheritance aspects can be programmed, resulting in real-time capabilities. This example shows how the upcall dispatch dynamic program feature is used to access functionality in a real-time thread scheduling library. Finally, the third important area shows how to replace or intercept existing application functions, such as a Web request, with unique code, in effect creating a tunneling capability.

In all, this paper provides a good description of the problems faced by newer evolving complex software systems. The authors’ description and application of a dynamic persistent programming language shows three main areas to support dynamic solutions. Many issues still remain, described as the performance-to-functionality tradeoffs when determining whether to provide a generic capability, or stay with the standard efficient but non-evolving function. The authors have also been working on safe ways to modify the interpreter while it is still running, creating a truly dynamic capability. They are planning on following this work with an exploration of more efficient downcall primitives, and other flexible architecture extensions.

Reviewer:  Scott Moody Review #: CR134239 (0805-0485)
Bookmark and Share
  Featured Reviewer  
Would you recommend this review?
Other reviews under "Software Architectures": Date
Application of an evaluation framework for analyzing the architecture tradeoff analysis method
Lopez M. Journal of Systems and Software 68(3): 233-241, 2003. Type: Article
Mar 10 2004
Software architecture (Advanced Topics in Science and Technology in China)
Qin Z., Xing J., Zheng X., Springer Publishing Company, Incorporated, 2008.  400, Type: Book (9783540743422)
Aug 28 2008
Algorithmic trading review
Treleaven P., Galas M., Lalchand V. Communications of the ACM 56(11): 76-85, 2013. Type: Article
Apr 9 2014

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 2004™
Terms of Use
| Privacy Policy