Java: An Operational Semantics - Columbia University

Java: An Operational Semantics - Columbia University

Java: An Operational Semantics Gaurav S. Kc B. Eng. Project Department of Computing Semantics of Java -- why? Semantics: Assignment of meanings to programs Java: A simple, object-oriented, distributed, interpreted, robust, secure, architecture

neutral, portable, high-performance, multithreaded, and dynamic language. Why? contd. Better mental model of language Acceptance reliability expected behaviour Java : Security v.s. functionality

Widespread use Reasoning: towards a compromise Project Goals Semantics extension Better understanding of Java Research based -- no implementation

Break-down into parts Existing features: inheritance instance variables overloading and overriding Additions: access modifiers final, static, abstract constructors An example in the new syntax

abstract class Animal extends Object { int age; Animal() { super();} int getAge() {...} } public final class Dog extends Animal { final int legs = 4; final static boolean hasTail = yes; Dog() { this(Laika); } Dog(String s) { super(); } int getAge(String name) {} } Access Modifiers

Public Protected Private [default] No packages Semantics extension ...

Accessibility checks Final and Abstract modifier Classes sub-classing not permitted instantiating not permitted Fields Constant behaviour? Semantics extension ...

Well-formedness Constructor invocation Assignment Static modifier Fields that dont belong to objects Class and interface fields State extension: Class/interface entries

References Semantics extension ... Runtime checks Class or interface v.s. object Constructor A constructor is used in the creation of an object that is an instance of a class. It is the basis with which the run-time system allocates space from memory to objects during execution.

Instance fields & [inherited] instance fields OutOfMemory exception Static initialisation Syntax of a Constructor Explicit constructor invocation this(); same class

super(); parent class static initialisation Statements public class C extends B { int x = 5; public C (int n) { this(true); print(n);

} private C (boolean b) { super(); if (b) } } Constructor execution new C(true); [boolean] C(true), [] B(); x=5; if (b) , Other research work on Java

Within the Department of Computing: Exceptions [email protected] Concurrency [email protected] Binary Compatibility [email protected] In other research institutions: Generics [email protected] Security Issues

[email protected] Other research, contd. A comparison perhaps? Different aspects of Java Post-grad & post-doc work Conclusions Boring? Certainly not! Acquired skills Taste of pure research Lots of non-trivial work

State of the art technology Continued research in Java Semantics Improved know-how of the Java system Acknowledgements

Krysia Broda Sophia Drossopoulou Susan Eisenbach Tanya Valkevych

Recently Viewed Presentations

  • Black Oak- White Oak Forest - University of Michigan

    Black Oak- White Oak Forest - University of Michigan

    Black Oak- White Oak Forest Manistee National Forest Land Form Parent Material Ecosystem overview: Northern Oak Relationships: Soil Profile Soil Profile Soil Texture Bulk Density, AWC and OM Soil pH, CEC & base saturation Soil Profile Summary Soil Profile Summary...
  • Macromizer Wheelbase Design 9.28.07 EJL 0.3125 wheel mount

    Macromizer Wheelbase Design 9.28.07 EJL 0.3125 wheel mount

    (gives 1cm above aluminum plate). Preferences: Soft pads to maximize shock absorption. Swivel pads to allow for angle compensation and floor irregularities. Recommended: Swivel Leveling Mount with Vibration Damping Pad (p1247) 3/8"-16 thread size, 1.875 in. pad diameter, 995lb. max...
  • SUPPORTING STUDENT WRITING THROUGH THE REVISING AND EDITING

    SUPPORTING STUDENT WRITING THROUGH THE REVISING AND EDITING

    Supporting Student Writing Through the Revising and Editing Processes. Professional Development. Literacy Design Collaborative. This presentation is designed to assist teachers in making the connections between the writing process skills of editing and revising and how those skills are embedded...
  • Welcoming Immigrants: Challenges & Resources Halifax ...

    Welcoming Immigrants: Challenges & Resources Halifax ...

    Decreasing the size of the potential labour pool Smaller tax base for municipalities Rural communities are looking to immigration/newcomers as a means to stimulate economic development and social institutions and curb population loss An Introduction to the Tool Box Some...
  • Zumdahl's Chapter 2

    Zumdahl's Chapter 2

    Zumdahl's Chapter 2 Atoms, Molecules, and Ions Chapter Contents History of Chemistry Mass & Proportions Dalton Theory Subatomic Particles Structure of the Atom Molecules and Ions Periodic Table Symbols and Organization Naming Compounds Binary ionic molecule Binary covalent compounds Polyatomic...
  • The 21st Century Grocery

    The 21st Century Grocery

    The impact of consumer-facing technology was a huge topic among Show attendees. One of the Show's most popular workshop tracks, "Tech Trends," presented fascinating updates on the latest tech ideas that are driving rapid change throughout the grocery industry. ......
  • Diamond Formation in association with Deep Mantle Dehydration ...

    Diamond Formation in association with Deep Mantle Dehydration ...

    In terms of release of fluid from hydrous silicates in downward transport, attention focuses on the DHMS (dense hydrous magnesium silicates) which may carry H2O down in subducting slabs (e.g. Kawamoto, 2006,op cit; Komabayashi, 2006, AGU monograph 168: 29-43 ).
  • 11.5 Dissociation of Water The equilibrium reached between

    11.5 Dissociation of Water The equilibrium reached between

    equilibrium is reached between the conjugate acid-base pairs. Writing the Dissociation Constant, K w In the equation for the dissociation of water, there is both a forward and a reverse reaction.