Evolving System Services to Meet Application Requirements

An increasingly common server deployment scenario involves dedicated servers supporting single applications. In such cases, system software need not be concerned with fairness between applications, but should instead focus on serving the precise needs of one particular application. To meet this goal, system software must permit applications to express their needs and must evolve to meet those needs. The fixed abstractions in conventional systems software militate against both expression of applications’ needs and against restructuring of system components to meet those needs. The compliant systems architecture (CSA) is a novel language-based software architecture that promises to enhance the extent to which system software is compliant to the applications it supports. Using our CSA instantiation, we identify several tactics for evolving system software to enhance compliance. The principal contribution of this paper is practical validation of CSA, via case studies of these tactics, demonstrating improved system services for an application.

[1]  Timothy L. Harris,et al.  Extensible virtual machines , 2001 .

[2]  Hans-Arno Jacobsen,et al.  Towards just-in-time middleware architectures , 2005, AOSD '05.

[3]  Jacky Estublier,et al.  Describing and using non functional aspects in component based applications , 2002, AOSD '02.

[4]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[5]  David S. Munro,et al.  A compliant persistent architecture , 2000, Softw. Pract. Exp..

[6]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[7]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[8]  Robert B. Miller,et al.  Response time in man-computer conversational transactions , 1899, AFIPS Fall Joint Computing Conference.

[9]  David S. Munro,et al.  Unifying static and dynamic approaches to evolution through the compliant systems architecture , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[10]  Gerhard Weikum,et al.  Towards Self-Tuning Memory Management for Data Servers , 1999, IEEE Data Eng. Bull..

[11]  Ronald Morrison,et al.  System Evolution, Feedback and Compliant Architectures , 2000 .

[12]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[13]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[14]  David S. Munro,et al.  Engineering Safe and Efficient Shareability within Web Systems , 2004, APWeb.

[15]  Gregor Kiczales,et al.  D: A Language Framework for Distributed Programming , 1997 .

[16]  Ronald Morrison,et al.  ProcessBase Abstract Machine Manual (Version 2.0.6) , 1999 .

[17]  Ronald Morrison,et al.  Orthogonally persistent object systems , 1995, The VLDB Journal.

[18]  Emin Gün Sirer,et al.  SPIN—an extensible microkernel for application-specific operating system services , 1995, OPSR.

[19]  William A. Wulf,et al.  Policy/mechanism separation in Hydra , 1975, SOSP.

[20]  David S. Munro,et al.  An approach to compliance in software architectures , 2000 .

[21]  Gordon S. Blair,et al.  The case for reflective middleware , 2002, CACM.

[22]  Gregory T. Sullivan Aspect-oriented programming using reflection and metaobject protocols , 2001, CACM.

[23]  Stephen J. Fink,et al.  The Jalapeño virtual machine , 2000, IBM Syst. J..

[24]  David S. Munro,et al.  Server enforced program safety for web application engineering , 2005 .

[25]  Robert Grimm,et al.  Application performance and flexibility on exokernel systems , 1997, SOSP.

[26]  Dawson R. Engler,et al.  The Operating System Kernel as a Secure Programmable Machine , 1994, ACM SIGOPS European Workshop.

[28]  Gustavo Alonso,et al.  Just-in-time aspects: efficient dynamic weaving for Java , 2003, AOSD '03.

[29]  William J. Bolosky,et al.  Mach: A New Kernel Foundation for UNIX Development , 1986, USENIX Summer.

[30]  Juan Manuel Cueva Lovelle,et al.  The reflective nitrO abstract machine , 2003, SIGP.

[31]  Jochen Liedtke,et al.  On micro-kernel construction , 1995, SOSP.

[32]  Gul A. Agha,et al.  Customizable middleware for modular distributed software , 2001, CACM.