The connectors at this level are module dependent. Module A is connected to module B if, and only if, A needs to invoke some methods in B during execution. Such connectors may exhibit the following attributes:
Direction: If module A invokes a method of module B during execution, there is a unidirectional connector from module A to module B.
Synchronization: A method invocation can be synchronous or asynchronous.
Sequence: Some connectors must be used in a particular sequence. For example, module A may invoke a method of module B and pass a callback reference during the invocation. Later, some events in module B may trigger a callback to module A. Both of these method invocations are represented by their connector abstractions, and a sequence attribute associated with them consists of a sequence ID and number. In this case both connectors will have the same sequence ID but different sequence numbers, which indicates the order of method invocation.