The importance of "systems infrastructure" software --- including application servers, virtual machines, middleware, compilers, and operating systems --- is increasing as application programmers demand better and higher-level support for software development. Vendors that provide superior support for application development have a competitive advantage. The software industry as a whole benefits as the base level of abstraction increases, thus decreasing the need for application programmers to continually "reinvent the wheel".

These trends, however, mean that the demands on infrastructure software are increasing. More and more features and requirements are being "pushed down" into the infrastructure, and the developers of systems software need better tools and techniques for handling these increased demands. The design and implementation of systems-level software presents unique opportunities and challenges for AOSD techniques. These challenges include the need to address the inherent complexity of infrastructure software; the need for strong assurances of correct and predictable behavior; the need for maximum run-time performance; and the necessity of dealing with the large body of existing systems software components.

This workshop aims to provide a highly interactive forum for researchers and developers to discuss the application of and relationships between aspects, components, and patterns within modern infrastructure software. The goal is to put aspects, components, and patterns into a common reference frame and to build connections between the software engineering and systems communities. Suggested topics for position papers include, but are not restricted to:

  • Approaches that combine or relate component-, pattern-, and aspect-based techniques
  • Dimensions of infrastructure software quality including comprehensibility, configurability (by implementors), customizability (by users), reliability, evolvability, scalability, and run-time characteristics such as performance and code size
  • Merits and downsides of container-, ORB-, and system-based separation of concerns
  • Architectural techniques for particular system concerns, e.g., security, static and dynamic optimization, and real-time
  • Design patterns for systems software
  • Component, pattern, and aspect ``mining'' within systems code
  • Application- or domain-specific optimization of systems
  • Reasoning and optimization across architecture layers
  • Quantitative and qualitative evaluations


The workshop will be structured to encourage fruitful discussions and build connections between workshop participants. To this end, approximately half of the workshop time will be devoted to short presentations of accepted papers, with the remaining half devoted to semi-structured discussion groups. Participants will be expected to have read the accepted papers prior to the workshop, to help ensure focused discussions. Participants will work with the workshop organizers prior to the workshop to establish topics for discussion groups.

Submission Guidelines

Invitation to the workshop will be based on accepted position papers, 3-6 pages in length. All papers must be submitted electronically in PDF, Postscript, or MS Word format. Papers should be submitted via the workshop's Web site. Submissions will be reviewed by the workshop program committee and designated reviewers. Papers will be evaluated based on technical quality, originality, relevance, and presentation.

All accepted papers will be posted at the workshop Web site prior to the workshop date, to give all participants the opportunity to read them before the workshop. In addition, the accepted papers will be published in a Workshop Proceedings as a technical report.

Important Dates

  • Deadline for submissions: Monday, January 19, 2004
  • Notifications to authors: Monday, February 9, 2004
  • Workshop: Monday, March 22, 2004