Provides the API and internal implementation for Role Normalization and Synthesis.
A pure Java library.
Add the jar as a dependency in your Java project. Most features also depend on the Eclipse AST analyzer and the bytecode instrumentation agent.
- Group types into domains by annotating each domain member
with
@DomainRole.Join
- Domain membership is inherited by all subtypes, including implementations of an interface that is a domain member
- To define domain relationships:
- create a file
<project-name>.domains.xml
insrc/main/resources/rns
- specify the domain-scope DTD in the XML header
- Enforce domain orthogonality with
<orthogonal-set>
- Enforce domain containment with
<domain-containment>
- create a file
- Domain features are more fully explained in the RNS documentation