ProtocolAnalysis

class ProtocolAnalysis(program: ProgramNode, protocolComposer: ProtocolComposer)

Associates each StatementNode with the Protocols involved in its execution.

Constructors

ProtocolAnalysis
Link copied to clipboard
fun ProtocolAnalysis(program: ProgramNode, protocolComposer: ProtocolComposer)

Functions

directReaderProtocols
Link copied to clipboard
fun directReaderProtocols(letNode: LetNode): Set<Protocol>

Returns the set of protocols that direct read the let binding.

directRemoteReaders
Link copied to clipboard
fun directRemoteReaders(letNode: LetNode): Set<SimpleStatementNode>
hostsToSync
Link copied to clipboard
fun hostsToSync(statement: StatementNode): Set<Host>

Returns the set of hosts that will synchronize with statement.

participatingHosts
Link copied to clipboard
fun participatingHosts(statement: StatementNode): Set<Host>

Returns the set of hosts that participate in the execution of statement.

participatingProtocols
Link copied to clipboard
fun participatingProtocols(node: Node): Set<Protocol>

Return the protocols participating for node.

primaryProtocol
Link copied to clipboard
fun primaryProtocol(argument: FunctionArgumentNode): Protocol

Returns the protocol that coordinates the execution of argument.

fun primaryProtocol(parameter: ParameterNode): Protocol

Returns the protocol that coordinates the execution of parameter.

fun primaryProtocol(read: ReadNode): Protocol

Returns the protocol that coordinates the execution of the let node read by read.

fun primaryProtocol(statement: SimpleStatementNode): Protocol

Returns the protocol that coordinates the execution of statement.

protocols
Link copied to clipboard
fun protocols(function: FunctionDeclarationNode): Set<Protocol>

Returns the set of protocols that execute function.

fun protocols(statement: StatementNode): Set<Protocol>

Returns the set of protocols that execute statement.

relevantCommunicationEvents
Link copied to clipboard
fun relevantCommunicationEvents(read: ReadNode): ProtocolCommunication

Return the relevant communication events for the read.

fun relevantCommunicationEvents(letNode: LetNode, reader: SimpleStatementNode): ProtocolCommunication

Return the relevant communication events for reader reading from letNode.

Properties

program
Link copied to clipboard
val program: ProgramNode