Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

Disentangling virtual machine architecture

Disentangling virtual machine architecture

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Virtual machine (VM) implementations are made of intricately intertwined subsystems, interacting largely through implicit dependencies. As the degree of crosscutting present in VMs is very high, VM implementations exhibit significant internal complexity. This study proposes an architecture approach for VMs that regards a VM as a composite of service modules coordinated through explicit bidirectional interfaces. Aspect-oriented programming techniques are used to establish these interfaces, to coordinate module interaction, and to declaratively express concrete VM architectures. A VM architecture description language is presented in a case study, illustrating the application of the proposed architectural principles.

References

    1. 1)
      • http://www.cs.purdue.edu/homes/jv/soft/ovm/index.html, accessed March 2008.
    2. 2)
      • Haupt, M.: `Virtual machine support for aspect-oriented programming languages', 2006, PhD, Darmstadt, University of Technology.
    3. 3)
      • http://www.kaffe.org/, accessed March 2008.
    4. 4)
      • http://java.sun.com/javase/technologies/hotspot/, accessed March 2008.
    5. 5)
      • Bershad, B.N., Savage, S., Pardyak, P.: `Extensibility safety and performance in the spin operating system', SOSP'95: Proc. 15th ACM Symp. Operating Systems Principles, 1995, New York, NY, USA, p. 267–283.
    6. 6)
      • http://lejos.sourceforge.net/, accessed March 2008.
    7. 7)
      • Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., Culler, D.: `The ', PLDI'03: Proc ACM SIGPLAN 2003 Conf. Programming Language Design and Implementation, May 2003, New York, NY, USA, p. 1–11.
    8. 8)
      • Allan, C., Avgustinov, P., Christensen, A.S.: `Adding trace matching with free variables to AspectJ', OOPSLA'05: Proc. 20th Ann. ACM SIGPLAN Conf. Object Oriented Programming, Systems, Languages, and Applications, 2005, New York, NY, USA, p. 345–364.
    9. 9)
      • Adams, B., De Schutter, K.: `An aspect for idiom-based exception handling: (using local continuation join points, join point properties, annotations and type parameters)', SPLAT'07: Proc. Fifth Workshop on Software Engineering Properties of Languages and Aspect Technologies, 2007, New York, NY, USA, p. 1.
    10. 10)
      • Herzeel, C., Gybels, K., Costanza, P., De Roover, C., D'Hondt, T.: `Forward chaining in HALO: an implementation strategy for history-based logic pointcuts', ICDL'07: Int. Conf. Dynamic Languages, August 2007, Lugano, Switzerland, (978-1-60558-084-5), pp. 157–182.
    11. 11)
      • http://harmony.apache.org/, accessed March 2008.
    12. 12)
      • B. Lewis , D.J. Berg . (1996) Threads primer. A guide to multithreaded programming.
    13. 13)
      • http://www.unix.org/single_unix_specification/, accessed March 2008.
    14. 14)
      • Levis, P., Madden, S., Gay, D.: `The emergence of networking abstractions and techniques in TinyOS', NSDI'04: Proc. first Conf. Symp. Networked Systems Design and Implementation, 2004, Berkeley, CA, USA, p. 1–14.
    15. 15)
      • Soman, S., Krintz, C., Bacon, D.F.: `Dynamic selection of application-specific garbage collectors', ISMM'04: Proc. fourth Int. Symp. Memory Management, 2004, New York, NY, USA, p. 49–60.
    16. 16)
      • B. Alpern , C.R. Attanasio , J.J. Barton . The Jalapeño virtual machine. IBM Syst. J , 1 , 211 - 238
    17. 17)
      • Fassino, J., Stefani, J., Lawall, J., Muller, G.: `Think: a software framework for component-based operating system kernels', ATEC'02: Proc. General Track of the Annual Conf. USENIX Annual Technical Conf., 2002, Berkeley, CA, USA, p. 73–86.
    18. 18)
      • http://www.eclipse.org/aspectj/, accessed March 2008.
    19. 19)
      • A. Taivalsaari . (1998) Implementing a Java(TM) virtual machine in the Java programming language.
    20. 20)
      • M. Cierniak , M. Eng , N. Glew , B. Lewis , J. Stichnoth . The open runtime platform: a flexible high-performance managed runtime environment. Concurr. Comput. Pract. Exper. , 617 - 637
    21. 21)
      • Ostermann, K., Mezini, M., Bockisch, C.: `Expressive pointcuts for increased modularity', ECOOP 2005 - Object Oriented Programming: 19th European Conf., 25–29 July 2005, Glasgow, UK, p. 214–240, (LNCS, 3586).
    22. 22)
      • http://java.sun.com/products/cldc/, accessed March 2008.
    23. 23)
      • Hilsdale, E., Hugunin, J.: `Advice weaving in AspectJ', AOSD'04: Proc. Third Int. Conf. Aspect-oriented Software Development, 2004, New York, NY, USA, p. 26–35.
    24. 24)
      • W.G. Griswold , K. Sullivan , Y. Song . Modular software design with crosscutting interfaces. IEEE Softw. , 1 , 51 - 60
    25. 25)
      • Sweeney, P.F., Hauswirth, M., Cahoon, B.: `Using hardware performance monitors to understand the behavior of Java applications', VM'04: Proc. Third Conf. Virtual Machine Research and Technology Symp., 2004, Berkeley, CA, USA, p. 57–72.
    26. 26)
      • http://jikesrvm.sourceforge.net/, accessed March 2008.
    27. 27)
      • R. Jones , R. Lins . (1996) Garbage collection. Algorithms for automatic dynamic memory management.
    28. 28)
      • Harris, T.L.: `Extensible virtual machines', 2001, PhD, Computer Laboratory, University of Cambridge, UK.
    29. 29)
      • Aldrich, J., Chambers, C., Notkin, D.: `Archjava: connecting software architecture to implementation', ICSE'02: Proc. 24th Int. Conf. Software Engineering, 2002, New York, NY, USA, p. 187–197.
    30. 30)
      • Douence, R., Fradet, P., Südholt, M.: `A framework for the detection and resolution of aspect interactions', GPCE'02: Proc. first ACM SIG-PLAN/SIGSOFT Conf. Generative Programming and Component Engineering, 2002, London, UK, p. 173–188.
    31. 31)
      • Gagnon, E., Hendren, L.: `SableVM: a research framework for the efficient execution of Java bytecode', JVM'01: Proc. JavaTM Virtual Machine Research and Technology Symp. JavaTM Virtual Machine Research and Technology Symp., 2001, Berkeley, CA, USA, p. 27–40.
    32. 32)
      • J.E. Smith , R. Nair . (2005) Virtual machines: versatile platforms for systems and processes.
    33. 33)
      • Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: `An overview of AspectJ', ECOOP'01: Proc. 15th European Conf. Object-Oriented Programming, 2001, London, UK, p. 327–353.
    34. 34)
      • http://users.ugent.be/~badams/aspicere2/, accessed March 2008.
    35. 35)
      • G. Thomas , F. Ogel , A. Galland , B. Folliot , I. Piumarta . Building a flexible Java runtime upon a flexible compiler. Int. J. Comput. Appl , 1 , 27 - 34
    36. 36)
      • http://sablevm.org/, accessed March 2008.
    37. 37)
      • http://tinyvm.sourceforge.net/, accessed March 2008.
    38. 38)
      • Gybels, K., Brichau, J.: `Arranging language features for more robust patternbased crosscuts', AOSD'03: Proc. Second Int. Conf. Aspect-oriented Software Development, 2003, New York, NY, USA, p. 60–69.
    39. 39)
      • Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: `Specifying distributed software architectures', Proc. fifth European Software Engineering Conf. (ESEC 95), 1995, Sitges, Spain, 989, p. 137–153.
    40. 40)
      • D. Reed , R. Fairbairns . (1997) The Nemesis kernel overview.
    41. 41)
      • Aldrich, J.: `Open modules: modular reasoning about advice', ECOOP 2005 – Object oriented programming: 19th European Conf., 25–29 July 2005, Glasgow, UK, p. 144–168, (LNCS, 3586).
    42. 42)
      • Pinto, M., Fuentes, L., Troya, J.M.: `DAOP-ADL: an architecture description language for dynamic component and aspect-based development', GPCE'03: Proc. Second Int. Conf. Generative Programming and Component Engineering, 2003, New York, NY, USA, p. 118–137.
    43. 43)
      • Engler, D.R., Kaashoek, M.F., O'Toole, J.: `Exokernel: an operating system architecture for application-level resource management', SOSP'95: Proc. 15th ACM Symp. Operating Systems Principles, 1995, New York, NY, USA, p. 251–266.
    44. 44)
      • Rashid, R., Julin, D., Orr, D.: `Mach: a system software kernel', Proc. 1989 IEEE Int. Conf., COMPCON, 1989, San Francisco, CA, USA, p. 176–178.
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2007.0121
Loading

Related content

content/journals/10.1049/iet-sen.2007.0121
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address