|
ABSTRACT
A primary goal of AOSD in the context of systems software has been to permit improved modularity without significantly degrading performance. Optimizations represent important crosscutting concerns in this context but also a significant challenge due to their fine-grained nature. This paper investigates how well the current state-of-the-art in AOSD can support such optimization aspects, via a case study involving an optimized network simulator, IP-TN. Duplication of optimizations achieved via low-level modifications to IP-TN in C++ have been attempted via aspectization of those optimizations in AspectC++. While comparable run-time performance is achieved with AspectC++ and (un)pluggability is clearly simpler, the effects on comprehensibility are less clear.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
R. A. Åberg, J. L. Lawall, M. Südholt, and G. Muller. Evolving an OS kernel using temporal logic and aspect-oriented programming. In Workshop on Aspects, Components, and Patterns for Infrastructure Software at AOSD, 2003. Position paper.
|
 |
2
|
|
| |
3
|
L. P. Barreto, R. Douence, G. Muller, and M. Südholt. Programming OS schedulers with domain-specific languages and aspects: New approaches for OS kernel engineering. In Workshop on Aspects, Components, and Patterns for Infrastructure Software at AOSD, 2002. Position paper.
|
| |
4
|
|
 |
5
|
|
 |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
|
 |
10
|
|
| |
11
|
P. Druschel, L. L. Peterson, and N. C. Hutchinson. Beyond micro-kernel design: Decoupling modularity and protection in Lipto. In Proc. IEEE International Conference on Distributed Computer Systems, pages 512--520, 1992.
|
| |
12
|
M. Engel and B. Freisleben. Using a low-level virtual machine to improve dynamic aspect support in operating system kernels. In Workshop on Aspects, Components, and Patterns for Infrastructure Software at AOSD, 2005. Position paper.
|
| |
13
|
|
| |
14
|
B. Harbulot and J. R. Gurd. A join point for loops in AspectJ. In Workshop on Foundations of Aspect-Oriented Languages at AOSD, pages 11--20, 2005. Position paper.
|
| |
15
|
Information technology---open systems interconnection---basic reference model: The basic model. Standard ISO/IEC 7498-1, International Organization for Standardization, 1994.
|
| |
16
|
G. Kesidis, A. Singh, D. Cheung, and W. Kwok. Feasibility of fluid event-driven simulation for atm networks. In Proc. IEEE Global Telecommunications Conference, pages 2013--2017, 1996.
|
| |
17
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
| |
18
|
|
| |
19
|
|
| |
20
|
|
 |
21
|
R. Levin , E. Cohen , W. Corwin , F. Pollack , W. Wulf, Policy/mechanism separation in Hydra, Proceedings of the fifth ACM symposium on Operating systems principles, p.132-140, November 19-21, 1975, Austin, Texas, United States
|
| |
22
|
B. Liu, D. Figueiredo, Y. Guo, J. Kurose, and D. Towsley. A study of networks simulation efficiency: Fluid simulation vs. packet-level simulation. In Proc. Joint Conference of the IEEE Computer and Communications Societies (INFOCOM), volume 3, pages 1244--1253, 2001.
|
| |
23
|
D. Lohmann, O. Spinczyk, and W. Schröder-Preikschat. On the configuration of non-functional properties in operating system product lines. In Workshop on Aspects, Components, and Patterns for Infrastructure Software at AOSD, 2005. Position paper.
|
| |
24
|
D. Mahrenholz, O. Spinczyk, A. Gal, and W. Schröder-Preikschat. An aspect-oriented implementation of interrupt synchronization in the PURE operating system family. In Proc. 5th ECOOP Workshop on Object Orientation and Operating Systems, 2002.
|
| |
25
|
|
| |
26
|
Gail C. Murphy , Albert Lai , Robert J. Walker , Martin P. Robillard, Separating features in source code: an exploratory study, Proceedings of the 23rd International Conference on Software Engineering, p.275-284, May 12-19, 2001, Toronto, Ontario, Canada
|
| |
27
|
D. Nicol, M. Goldsby, and M. Johnson. Fluid-based simulation of communication networks using SSF. In Proc. European Simulation Symposium, pages 270--274, 1999.
|
| |
28
|
J. Park, S. Kim, and S. Hong. Weaving aspects into real-time operating system design using object-oriented model transformation. In Proc. IEEE International Workshop on Object-Oriented Real-Time Dependable Systems, pages 292--298, 2003.
|
 |
29
|
|
| |
30
|
W. Schult and A. Polze. Speed vs. memory usage: An approach to deal with contrary aspects. In Workshop on Aspects, Components, and Patterns for Infrastructure Software at AOSD, 2003. Position paper.
|
| |
31
|
C. Schwanninger, E. Wuchner, and M. Kircher. Encapsulating crosscutting concerns in system software. In Workshop on Aspects, Components, and Patterns for Infrastructure Software at AOSD, 2004. Position paper.
|
 |
32
|
Marc Ségura-Devillechaise , Jean-Marc Menaud , Gilles Muller , Julia L. Lawall, Web cache prefetching as an aspect: towards a dynamic-weaving based solution, Proceedings of the 2nd international conference on Aspect-oriented software development, p.110-119, March 17-21, 2003, Boston, Massachusetts
[doi> 10.1145/643603.643615]
|
| |
33
|
|
| |
34
|
|
| |
35
|
|
 |
36
|
Kevin Sullivan , William G. Griswold , Yuanyuan Song , Yuanfang Cai , Macneil Shonle , Nishit Tewari , Hridesh Rajan, Information hiding interfaces for aspect-oriented design, Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, September 05-09, 2005, Lisbon, Portugal
|
| |
37
|
A. Tešanović, D. Nyström, J. Hansson, and C. Norström. Aspects and components in real-time system development: Towards reconfigurable and reusable software. Journal of Embedded Computing, 1(1), 2004.
|
 |
38
|
Robert J. Walker , Elisa L. A. Baniassad , Gail C. Murphy, An initial assessment of aspect-oriented programming, Proceedings of the 21st international conference on Software engineering, p.120-130, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302458]
|
 |
39
|
|
 |
40
|
Yasuhiko Yokote, The Apertos reflective operating system: the concept and its implementation, conference proceedings on Object-oriented programming systems, languages, and applications, p.414-434, October 18-22, 1992, Vancouver, British Columbia, Canada
|
| |
41
|
C. Zhang and H.-A. Jacobsen. Refactoring middleware with aspects. IEEE Transactions on Parallel and Distributed Systems, 14(11):1058--1073, 2003.
|
CITED BY 2
|
|
Nieraj Singh , Celina Gibbs , Yvonne Coady, C-CLR: a tool for navigating highly configurable system software, Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software, p.9-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
Wanja Hofer , Daniel Lohmann , Wolfgang Schröder-Preikschat, Concern impact analysis in configurable system software: the AUTOSAR OS case, Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software, p.1-6, March 31-April 08, 2008, Brussels, Belgium
|
INDEX TERMS
Primary Classification:
C.
Computer Systems Organization
C.2
COMPUTER-COMMUNICATION NETWORKS
C.2.1
Network Architecture and Design
Additional Classification:
C.
Computer Systems Organization
C.4
PERFORMANCE OF SYSTEMS
D.
Software
D.1
PROGRAMMING TECHNIQUES
D.1.m
Miscellaneous
D.2
SOFTWARE ENGINEERING
D.2.7
Distribution, Maintenance, and Enhancement
General Terms:
Design,
Experimentation,
Languages,
Performance
Keywords:
AspectC++,
IP-TN,
evaluation,
fine-grained join points,
modularity,
network simulation,
optimization,
performance
|