Skip to content

jensdietrich/jdala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JDala

An experimental implementation of DALA on top of Java

Licence

View software licence here. This code contains a shaded version of some of the classes from Collections.java.util.concurrent package

Set up

NOTE: There is debugging code which stores the java class files, this only works on Windows machines Please comment out debugCode(); on line 25 here and Files.write(Paths.get("../generated-classes/" + result + ".class"), classWriter.toByteArray()); on line 64 here

For specific documentation on how to setup on intelliJ please view here

The program needs to be compiled twice to run, first for the agent and second is the actual program

First run to build the java agent (and skip the tests as they need the agent to pass)

mvn clean package -DskipTests

Static Attachment of agent needs to be set. If using intellij this can be done by adding opting the run configuration and adding

-javaagent:target/jdala-agent.jar

to the VM options. In command line this can just be added as an extra flag.

Documentation

This the decisions made and how they effect the project are stored in the docs folder.

Annotations

There are three possible annotations that a local variable can have. These are:

Immutable

import nz.ac.wgtn.ecs.jdala.annotation.Immutable;

@Immutable Box var = new Box("foo");

Isolated

import nz.ac.wgtn.ecs.jdala.annotation.Isolated;

@Isolated Box var = new Box("foo");

Local

import nz.ac.wgtn.ecs.jdala.annotation.Local;

@Local Box var = new Box("foo");

About

an experimental implementation of DALA on top of Java

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5