Skip to content
José Pereira edited this page Mar 13, 2015 · 3 revisions

Building

To build Minha you need Java version 8 and Apache Maven. Then:

  1. Get source code from with:

    git clone https://github.com/jopereira/minha.git
    
  2. Run Maven:

    mvn package install
    

    See tools/target/minha-tools-X.X-bin.zip for a binary distribution.

This compiles also a thread-local high precision timer that provides an accurate cost of instructions actually executed by the current thread. This timer is currently available only on Linux systems.

Using

The Minha platform can be used in two ways:

  1. To run standalone Java applications (i.e. classes with a main method) using the Runner tool.

  2. To run standalone or partial Java programs using the API. This is most useful for automated testing.

WARNING: Minha is currently in early development stages and models are incomplete. You should expect some unsupported API classes and methods. These usually turn up as:

java.lang.IllegalAccessError: tried to access method ...

or:

java.lang.NoSuchMethodError: ...

Please report them as new issues.

Hacking

Implementation is based on Java and takes advantage of bytecode transformation to automatically convert application code to simulation environment. These are the main subjects that you should learn before hacking on Minha:

Clone this wiki locally