Proceedings of the 2012 workshop on Modularity in Systems Software

aspect oriented software development(2011)

引用 0|浏览0
暂无评分
摘要
The importance of 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.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要