Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1960518acmotherconferencesBook PagePublication PagesmodularityConference Proceedingsconference-collections
MISS '11: Proceedings of the 1st workshop on Modularity in systems software
ACM2011 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
AOSD'11: Tenth International Conference on Aspect-Oriented Software Development Porto de Galinhas Brazil 22 March 2011
ISBN:
978-1-4503-0647-8
Published:
22 March 2011
In-Cooperation:
Centro de Informatica - UFPE, SIGPLAN, CAPES, SIGSOFT, CNPq, FINEP, PUC-Rio, FACEPE

Reflects downloads up to 22 Sep 2024Bibliometrics
Skip Abstract Section
Abstract

The importance of "systems infrastructure" software -- application servers, virtual machines, compilers, operating systems, and other software that provides general services for higher-level applications -- 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. Hence, the design and implementation of systems-level software presents unique opportunities and challenges for research on software modularity. These challenges include the need to address the inherent complexity of infrastructure software, the need for strong assurances of correct and predictable behaviour, the need for maximum run-time performance, and the necessity of dealing with the large body of existing systems software components.

Various technologies exist for "untangling" software concerns in systems software, such as macros, components, traits, context layers and aspects. Despite their difference, these actively evolving modularization technologies have much in common. For instance, macros are a fast, simple technique for modularizing low-level operations. At a higher level, component models try to free the developer from the need to deal directly with services like security and transactions. These services can also be interpreted as crosscutting concerns, whose modularization is the main target of trait-based, context- and aspectoriented languages. Macros, aspects, components, context layers and traits can be used individually or in combination to improve the modularization of software.

MISS 2011 continues the tradition and broadens the scope of the ACP4IS workshop series. Whereas the original ACP4IS workshops focused on the application, exploration and evaluation of aspects, components and patterns for systems software development, MISS 2011 does not limit itself to these three modularization techniques. Similar to the main AOSD 2011 conference, whose emphasis is "Perspectives on Modularity", MISS 2011 considers all kinds of modularity and closely related topics, such as empirical studies on modularity and tool support. The name change is just one step in the ongoing evolution process of ACP4IS, making previously implicit circumstances explicit.

Following up on last year's workshop, MISS 2011 put special focus on the challenges in systems software introduced by multi-core platforms. As hardware-supported parallelization becomes mainstream, there is an increasing pressure on systems infrastructure to exploit this new parallelism to its fullest. However, the non-modular nature of parallel execution, and the numerous levels at which parallelism can be achieved (application, systems infrastructure, hardware or even a combination) make it hard to come up with an intuitive, yet efficient parallel architecture. We solicited novel ideas and experience reports on this emerging research area.

Other solicited topics included, but were not restricted to:

  • Approaches that combine or relate advanced modularization techniques.

  • Dimensions of infrastructure software quality, including comprehensibility, configurability (by implementers), customizability (by users), reliability, evolvability, scalability, and run-time characteristics like 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 behaviour..

  • Design patterns for systems software..

  • "Mining" and refactoring of concerns in systems code..

  • Application- or domain-specific optimization of systems..

  • Reasoning and optimization across architectural layers..

  • Quantitative and qualitative evaluation..

To encourage fruitful discussions and build connections between workshop participants, approximately half of the workshop time was devoted to short presentations of accepted papers, with the remaining half devoted to semi-structured discussion groups and lightning talks. The latter are short talks and tool demos to stimulate even more interaction between workshop attendees. Participants were expected to have read the accepted papers prior to the workshop, to help ensure focused discussions.

Skip Table Of Content Section
SESSION: Papers
research-article
A feature model and development approach for schedulers

Schedulers decide when to execute what in a system. They often work in constrained environments, where these decisions have high impact on performance. Since schedulers should be designed according to a system's needs, it is imperative that scheduling ...

research-article
An annotation-based approach for JCSP concurrent programming: a quantitative study

The construction of large scale parallel and concurrent applications is one of the greatest challenges faced by software engineers nowadays. Modern programming models for concurrency including libraries implementing high level abstractions such as JCSP ...

research-article
Magic for the masses: safer high-level low-level programming through customizable static analyses

Writing high-performance virtual machines in a high-level language requires an escape-hatch, such that unavoidable low-level tasks can be performed efficiently. To this end, the org.vmmagic framework used by Jikes RVM and other VMs makes it possible to ...

research-article
Towards a robust model for distributed aspects

In this paper, we present some of the problems we have found in distributed aspect models and introduce a set of criteria that we consider necessary for a robust distributed aspect system. We outline of a first version of model based on aspects and ...

research-article
Upcall dispatcher aspects: combining modularity with efficiency in the CiAO IP stack

Network protocol stacks are an important ingredient of today's infrastructure software. For instance, all state-of-theart operating systems for PCs and the server market come with a TCP/IP stack. The design of protocol stacks and their layered structure ...

Contributors
  • Queen’s University
  • Oracle Corporation
  • The Open University of Israel
  • The University of British Columbia

Recommendations