Ast Module


This module defines the following types:

Substitution Type

Implementation of the ISubstitution interface using a Dictionary

Implemented Interfaces

  • ISubstitution

Methods

Modifiers Return type Method name Method parameters Description
bool Equals Object
int GetHashCode
string ToString

Properties

Return type Property name Description
ISubstitution Id Returns a new Substitution that behaves like the identity

 

Variable Type

Variables are typed

Implemented Interfaces

  • IEquatable<Variable>
  • IStructuralEquatable
  • IVar
  • ITerm

Methods

Modifiers Return type Method name Method parameters Description
int GetHashCode IEqualityComparer
int GetHashCode
bool Equals Object, IEqualityComparer
string ToString
bool Equals Variable
bool Equals Object

Properties

Return type Property name Description
string Name
IType Type

 

Constant Type

Constants are implicitly typed (they have the type of the wrapped element)

Implemented Interfaces

  • IConst
  • ITerm

Methods

Modifiers Return type Method name Method parameters Description
bool Equals Object
int GetHashCode
string ToString

Properties

Return type Property name Description
Object Value

 

PrincipalConstant Type

Base type: Constant
Principal constants

Implemented Interfaces

  • IConst
  • ITerm

Methods

Modifiers Return type Method name Method parameters Description
string ToString

Properties

Return type Property name Description
string Name

 

ForallTerm Type

Represents a universally quantified AST term

Implemented Interfaces

  • IEquatable<ForallTerm>
  • IStructuralEquatable
  • ITerm

Methods

Modifiers Return type Method name Method parameters Description
int GetHashCode IEqualityComparer
int GetHashCode
bool Equals Object, IEqualityComparer
ITerm Instantiate ISubstitution Instantiates the quantifiers using the given substitution over the bound variables
ITerm * ISubstitution ChangeVarName ISubstitution Changes the variable name to be different to any variable appearing in the given substitution
string ToString
bool Equals ForallTerm
bool Equals Object

Properties

Return type Property name Description
IVar Var
ITerm Term
ITerm InnerTerm Returns the quantifier-free formula inside of this ForallTerm

 

ExplicitSubstitutionTerm Type

Represents an AST term that carries an explicit substitution. Whenever a substitution is applied on an ExplicitSubstitutionTerm, instead of modifying the contained term, the given substitution is composed with the explictly carried substitution. This is particularly useful to prevent fragile terms from being corrupted when substitutions are applied on them (e.g., digital signatures on evidence terms)

Implemented Interfaces

  • ITerm

Methods

Modifiers Return type Method name Method parameters Description
bool Equals Object
int GetHashCode
string ToString

Properties

Return type Property name Description
ITerm Term The contained term on which substituions are not going to be applied directly
ISubstitution Substitution The susbstitution that's being explicitly carried

 

Builders Type

Defines the public interface on how to construct AST elements defined in the Ast module

Methods

Modifiers Return type Method name Method parameters Description
static ITerm Var IVar Constructs a variable ITerm
static ITerm Const IConst Constructs a constant ITerm
static ITerm Principal string Constructs a principal constant ITerm
static ITerm Forall IVar, ITerm Constructs a forall quantified ITerm with a single variable
static ITerm ForallMany IVar list, ITerm Constructs a forall quantified ITerm with many variables

Properties

Return type Property name Description
ITerm True Constructs a true literal ITerm
ITerm False Constructs a false literal ITerm

 

ActivePatterns Type

Defines the public interface on how to pattern match AST elements defined in the Ast module

Methods

Modifiers Return type Method name Method parameters Description
static unit option |Infon|_| IType Active pattern to match the infon type
static unit option |Principal|_| IType Active pattern to match the principal type
static unit option |SubstrateUpdate|_| IType Active pattern to match the substrate update type
static unit option |SubstrateQuery|_| IType Active pattern to match the substrate query type
static unit option |Action|_| IType Active pattern to match the action type
static unit option |Condition|_| IType Active pattern to match the condition type
static unit option |Rule|_| IType Active pattern to match the rule type
static unit option |Evidence|_| IType Active pattern to match the evidence type
static Type option |Substrate|_| IType Active pattern to match the substrate (.NET elements) type
static Variable option |Var|_| ITerm Active pattern to match variables
static IConst option |Const|_| ITerm Active pattern to match constants
static Object option |SubstrateConstant|_| ITerm Active pattern to match .NET type elements (integers, strings, etc.)
static string option |PrincipalConstant|_| ITerm Active pattern to match principal constants
static unit option |True|_| ITerm Active pattern to match true boolean literal
static unit option |False|_| ITerm Active pattern to match false boolean literal
static IVar * ITerm option |Forall|_| ITerm Active pattern to match forall quantified terms

 

Type Type

Defines the basic IType implementations for DKAL types

Methods

Modifiers Return type Method name Method parameters Description
static IType FromFullName string

Properties

Return type Property name Description
IType Infon Type for infons
IType Principal Type for principals
IType SubstrateUpdate Type for substrate update terms
IType SubstrateQuery Type for substrate query terms
IType Action Type for actions used in policy rules
IType Condition Type for conditions used in policy rules
IType Rule Type for policy rules
IType Evidence Type for evidence (a.k.a. justification, or proof)
IType Boolean
IType Int32
IType Double
IType String

 

Substrate Type

Defines an IType implementation to use .NET types as DKAL types

Implemented Interfaces

  • IType

Methods

Modifiers Return type Method name Method parameters Description
bool Equals Object
int GetHashCode
string ToString

Properties

Return type Property name Description
Type Type The .NET type wrapped by this Substrate type

 

Automatically generated on 6/10/2011 2:28:40 PM
 

Last edited Jun 10, 2011 at 9:32 PM by gdecaso, version 4

Comments

No comments yet.