--%>

Environment Modeling in Java Pathfinder

Environment Modeling: In JPF, Java class files can be processed in two different ways:

A) As ordinary Java classes managed and executed by the host JVM (e.g., standard Java library classes, JPF implementation classes)

B) As “modeled” classes managed and processed (verified) by JPF

We have to clearly distinguish between these two modes. In particular, JPF’s “Model” layer has its own class and object model, which is completely different than and incompatible with the hidden class and object models of the underlying host JVM executing JPF.

Each standard JVM supports a Java Native Interface (JNI), that is used to delegate execution from the JVM-controlled bytecode down into the platform-dependent native layer (machine code). This is normally used to interface certain functionalities such as I/O or graphics to the platform OS and architecture. JPF provides an analogous mechanism to lower the “execution” level in JPF from JPF-controlled bytecode into JVM-controlled bytecode. This mechanism is called Model Java Interface (MJI). It supports the creation of dedicated classes to be executed by the underlying JVM rather than JPF. Such classes are not model checked by JPF.

   Related Questions in Programming Languages

  • Q : ArrayLists I. The Assignment The

    I. The Assignment The Bashemin Parking Garage contains a single lane that can hold up to ten cars.  Arriving cars enter the garage at the rear and are parked in the empty space nearest to the front.  Departing cars exit only from the front.  If a cu

  • Q : Explain the benefits of distributed

    Explain the benefits of distributed systems.

  • Q : What is Pointer Arithmetic Pointer

    Pointer Arithmetic: C and C++ provide the ability to modify a pointer’s target address with arithmetic operations. This is used, for example, to index arrays. MyObject* P = ...

    Q : What are good examples of element

    What are good examples of element attributes?

  • Q : Use of setjmp and longjmp Use of

    Use of setjmp() and longjmp(): In C/C++, setjmp() saves the contents of the registers at a particular state in the program and longjmp() will restore that state later. In this way, longjmp() “returns” to the state of the program when setjm

  • Q : Define undershoot You have a driver as

    You have a driver as drives a long signal and connect to an input device. On the input device there is either undershoot, overshoots or signal threshold violations, so what can be done to correct such problem?

  • Q : DOT Net namespace Explain the main

    Explain the main classes given by the .NET namespace to process the XML files.

  • Q : Explain Branch instruction Branch

    Branch instruction: It stores a new instruction address into the program counter. The consequence of this is the next instruction to be fetched will not generally be the one instantly following the branch instruction. Therefore the normal chronologica

  • Q : What is Single inheritance Single

    Single inheritance: In Java, a class might not extend more than one class. It means that Java has a single inheritance model for the class inheritance.

  • Q : What is Behavior Behavior : It is the

    Behavior: It is the methods of a class which implement its behavior. A particular object's behavior is a mixture of the method definitions of its class and the present state of the object.