Javalite - An Operational Semantics for Modeling Java Programs